153 154 0
Yes No
张云聪
#include
using namespace std;
int main()
{
int a;
while(1)
{
cin>>a;
if(a==0) break;
cout<<((a==153||a==370||a==371||a==407)?"Yes":"No")<
3 6 6 12 11 33 22
6 6 1 132 11 66
#include
int main()
{
unsigned int u,v,r,s,i,d;
scanf("%u",&s);
for(i=1;i<=s;i++)
{
scanf("%u%u",&u,&v);
d=u*v;
while(v!=0)
{
r=u%v;
u=v;
v=r;
}
printf("%u %u\n",u,d/u);
}
return 0;
}
现在要写一个程序,实现给三个数排序的功能
20 7 33
7 20 33
#include
int main()
{
int a,b,c,an[3],i,t,j,max,flag;
scanf ("%d %d %d",&an[0],&an[1],&an[2]);
for (i=0;i<3;i++)
{
t=max=an[i];
flag=i;
for (j=i;j<3;j++)
if (an[j]>t)
{
max=an[j];
flag=j;
};
t=an[i];
an[i]=max;
an[flag]=t;
}
for (i=2;i>=0;i--)
printf ("%d ",an[i]);
return 0;
}
给定两个数m,n,其中m是一个素数。
将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。
2 100 5 16 2
24 15
#include
using namespace std;
int get(int n,int num)
{
if(n==0) return 0;
else return get(n/num,num)+n/num;
}
int main()
{
int n;
cin>>n;
while(n--)
{
int a,b;
cin>>a>>b;
cout<
假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。例如,从1234出发,依次可以得到4321-1234=3087、8730-378=8352、8532-2358=6174,又回到了它自己!现在要你写一个程序来判断一个四位数经过多少次这样的操作能出现循环,并且求出操作的次数
比如输入1234执行顺序是1234->3087->8352->6174->6174,输出是4
1 1234
4
#include
#include
#include
using namespace std;
int main()
{
//freopen("1.txt","r",stdin);
int k;
cin>>k;
while(k--)
{
int n,a[4],n1,n2;
scanf("%d",&n);
int s=1;
while(n!=6174)
{
a[0]=n%10;
a[3]=n/1000;
a[1]=n/10%10;
a[2]=n/100%10;
sort(a,a+4);
n1=1000*a[3]+100*a[2]+10*a[1]+a[0];
n2=1000*a[0]+100*a[1]+10*a[2]+a[3];
n=n1-n2;
s++;
}
printf("%d\n",s);
}
}
1 4 YaoLin 87 82 Y N 0 ChenRuiyi 88 78 N Y 1 LiXin 92 88 N N 0 ZhangQin 83 87 Y N 1
ChenRuiyi 9000 28700
#include
#include
#include
#include
using namespace std;
int calc(int qm,int py,bool gb,bool xb,bool lw)
{
int all=0;
if(qm>80 && lw) all+=8000;
if(qm>85&& py>80) all+=4000;
if(qm>90) all+=2000;
if(xb&&qm>85) all+=1000;
if(gb&&py>80) all+=850;
return all;
}
int main()
{
int n;
cin>>n;
while(n--)
{
int m;
cin>>m;
int max_num=0,all=0;
string max_stu;
while(m--)
{
int qm,py,lw;
string xm,gbs,xbs;
cin>>xm>>qm>>py>>gbs>>xbs>>lw;
bool gb=gbs=="Y",xb=xbs=="Y";
int num=calc(qm,py,gb,xb,lw>0);
all+=num;
if(num>max_num) {max_num=num;max_stu=xm;}
}
cout<
笨小熊的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!
这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小熊就认为这是个Lucky Word,这样的单词很可能就是正确的答案。
2 error olympic
Lucky Word 2 No Answer 0
#include
#include
#include
#include
using namespace std;
bool isPrime(int n)
{
if(n==0) return false;
if(n==1) return false;
if(n==2) return true;
for(int i=2;i*i<=n;i++)
{
if(n%i==0) return false;
}
return true;
}
int min_e(int *p,int *q)
{
int m=1000;
for(int* i=p;i!=q;i++)
{
if(*i>n;
while(n--)
{
int count[26]={0};
cin>>str;
for(int i=0;i!=str.size();++i)
{
++count[str[i]-'a'];
}
int nn=*max_element(count,count+26)-min_e(count,count+26);
if(isPrime(nn)) cout<<"Lucky Word"<
2 14 32 10 16
12 2 No answer
#include
using namespace std;
int main()
{
int n,a,b,p,q;
cin>>n;
while(n--)
{
cin>>a>>b;
q=(b-2*a)/2;
p=a-q;
if(p<0 ||q<0 || b%2) cout<<"No answer"<
大家都知道阶乘这个概念,举个简单的例子:5!=1*2*3*4*5.现在我们引入一种新的阶乘概念,将原来的每个数相乘变为i不大于n的所有奇数相乘例如:5!!=1*3*5.现在明白现在这种阶乘的意思了吧!
现在你的任务是求出1!!+2!!......+n!!的正确值(n<=20)
2 3 5
5 23
/*
#include
using namespace std;
int f(int n)
{
if(n%2) return n==1?1:n*f(n-2);
return f(n-1);
}
int g(int n)
{
return n?g(n-1)+f(n):0;
}
int main()
{
int n,m;
cin>>n;
while(n--)
{
cin>>m;
cout<
using namespace std;
int main()
{
int n,m,r[]={0,1,2,5,8,23,38,143,248,1193,2138,12533,22928,158063,293198,2320223,4347248,38806673,73266098,727995173,1382724248};
cin>>n;
while(n--)
{
cin>>m;
cout<
100.00 489.12 12454.12 1234.10 823.05 109.20 5.27 1542.25 839.18 83.99 1295.01 1.75
1581.42
#include
#include
using namespace std;
int main()
{
double sum=0,a;
for(int i=0;i<12;i++)
{
cin>>a;
sum+=a;
}
cout<