二倍的问题
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int n,a[20],k,i,sum,j,m;
scanf("%d",&n);
for(i=1;i<=n;i++)
{ sum=0;
k=0;
for(j=0;j<16;j++)
{
scanf("%d",&a[j]);
if(a[j]==0)
{
break;
}
sum=sum+1;
}
for(j=0;j<sum-1;j++)
{
for(m=j+1;m<sum;m++)
{
if(a[m]==2*a[j]||a[j]==2*a[m])
{
k=k+1;
}
}
}
printf("%d\n",k);
}
return 0;
}
大乐透
#include<bits/stdc++.h>
using namespace std;
int main()
{
int k,i,a[60],j,m,n,u,y;
while(scanf("%d",&k)!=-1)
{ if(k==0)
{
break;
}
for(i=0;i<k;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<k;i++)
{
for(j=i+1;j<k;j++)
{
for(m=j+1;m<k;m++)
{
for(n=m+1;n<k;n++)
{
for(u=n+1;u<k;u++)
{
for(y=u+1;y<k;y++)
{
printf("%d %d %d %d %d %d\n",a[i],a[j],a[m],a[n],a[u],a[y]);
}
}
}
}
}
}
}
return 0;
}
密码箱
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,j,k,a[1000];
while(scanf("%d",&n)!=-1)
{
for(i=n,j=0;i<1000;i++)
{
if(i>n)
{
a[j]=i;
j++;
k=j;
}
}
for(i=0;i<k;i++)
{
if(a[i]<10)
{
printf("00%d\n",a[i]);
}
if(a[i]<100&&a[i]>=10)
{
printf("0%d\n",a[i]);
}
if(a[i]>=100)
{
printf("%d\n",a[i]);
}
}
}
return 0;
}
字符串统计
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int n,i,sum,j;
char s[101];
scanf("%d",&n);
for(i=1;i<=n;i++)
{ sum=0;
scanf(" %[^\n]",s);
for(j=0;j<strlen(s);j++)
{
if(s[j]>='0'&&s[j]<='9')
{
sum=sum+1;
}
}
printf("%d\n",sum);
}
return 0;
}
丑数
#include<bits/stdc++.h>
#define min4(a,b,c,d) min(min(a,b),min(c,d))
using namespace std;
int n,p2,p3,p5,p7,a[5847];
int main()
{ while(scanf("%d",&n)!=-1)
{ if(n==0)
{
break;
}
a[1]=1;p2=p3=p5=p7=1;
for(int i=2;i<=5842;i++)
{
a[i]=min4(a[p2]*2,a[p3]*3,a[p5]*5,a[p7]*7);
if(a[i]%2==0)
{
p2++;
}
if(a[i]%3==0)
{
p3++;
}
if(a[i]%5==0)
{
p5++;
}
if(a[i]%7==0)
{
p7++;
}
}
printf("%d\n",a[n]);
}
return 0;
}
矩形
#include<bits/stdc++.h>
using namespace std;
int main()
{ int i,j,n,sum,x1[101],x2[101],y1[101],y2[101];
while(scanf("%d",&n)!=-1)
{ sum=0;
for(i=1;i<=n;i++)
{
scanf("%d%d%d%d",&x1[i],&x2[i],&y1[i],&y2[i]);
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{ if(i!=j)
{
if((x1[i]<=x1[j]&&x2[i]>=x2[j]&&y1[i]<=y1[j]&&y2[i]>=y2[j])||(x1[i]>=x1[j]&&x2[i]<=x2[j]&&y1[i]>=y1[j]&&y2[i]<=y2[j]))
{
sum=sum+1;
break;
}
}
}
}
printf("%d\n",sum);
}
return 0;
}
抽奖
#include<bits/stdc++.h>
using namespace std;
int main()
{ int n,flag,i,a[105],num,hm;
scanf("%d",&n);
flag=0;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&num);
for(i=0;i<n;i++)
{
if(a[i]==num)
{
hm=i+1;
flag=1;
break;
}
}
if(flag==1)
{
printf("%d\n",hm);
}
if(flag==0)
{
printf("0\n");
}
return 0;
}
比身高
#include<bits/stdc++.h>
using namespace std;
int main()
{ int a[1001],sum1,sum2,n,i,j,sum;
scanf("%d",&n);
sum=0;
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<=n;i++)
{ sum1=0;
sum2=0;
for(j=1;j<=n;j++)
{
if(a[j]>a[i]&&j<i)
{
sum1++;
}
if(a[j]>a[i]&&j>i)
{
sum2++;
}
}
if(sum1==sum2)
{
sum++;
}
}
printf("%d\n",sum);
return 0;
}
楼层编号
#include<bits/stdc++.h>
using namespace std;
int main()
{ int m,t,i,k,sum,g;
scanf("%d%d",&m,&t);
sum=0;
for(i=1;i<=m;i++)
{ g=i;
while(g>0)
{
k=g%10;
if(k==t)
{
sum=sum+1;
break;
}
g=g/10;
}
}
printf("%d",m-sum);
return 0;
}
比例简化
#include<bits/stdc++.h>
using namespace std;
int main()
{ int A,B,L,i,j,m,k,t,q,p;
double mu,sum,minx;
scanf("%d%d%d",&A,&B,&L);
minx=99999;
for(i=1;i<=L;i++)
{ k=i;
for(j=1;j<=L;j++)
{
m=j;
while(m!=0)
{
t=k%m;
k=m;
m=t;
}
if(k==1)
{
sum=(i*1.0)/(j*1.0);
mu=sum-(A*1.0)/(B*1.0);
if(mu>=0)
{
if(mu<minx)
{
minx=mu;
p=i;
q=j;
}
}
}
}
}
printf("%d %d",p,q);
return 0;
}
奶牛碑文
#include<bits/stdc++.h>
using namespace std;
int main()
{ char s[100003];
int n,i,c[100003],w[100003],sum1,sum2;
long long sum;
scanf("%d",&n);
cin>>s;
sum1=sum2=sum=0;
for(i=0;i<n;i++)
{
if(s[i]=='C')sum1++;
c[i]=sum1;
}
for(i=n-1;i>=0;i--)
{
if(s[i]=='W')sum2++;
w[i]=sum2;
}
for(i=0;i<n;i++)
{
if(s[i]=='O')
sum=sum+c[i]*w[i];
}
printf("%lld",sum);
return 0;
}