1050
题目描述
求1! + 2! + ……n!
输入
输入一个整数n,你可以假定n不大于10。
输出
输出一个整数,即阶乘累加的结果,单独占一行。
样例输入 Copy
4
样例输出 Copy
33
#include<stdio.h>
int main()
{
int n;
int fact,sum;
scanf("%d",&n);
fact=1.0;
sum=0;
for(int i=1;i<=n;i++)
{
fact=fact*i;
sum=sum+fact;
}
printf("%d",sum);
return 0;
}
1051
题目描述
数列的定义如下:
数列的第一项为item,以后各项为前一项的平方根,求数列的前n项的和。
输入
由两个整数item(item<10000)和n(n<1000)组成,item和n的含义如前所述。
输出
输出该数列的和,占一行,要求精度保留2位小数。
样例输入 Copy
84 4
样例输出 Copy
97.93
#include<stdio.h>
#include<math.h>
int main()
{
double item;
int n;
double sum=0;
scanf("%lf%d",&item,&n);
for(int i=1;i<=n;i++){
sum=sum+item;
item=sqrt(item);
}
printf("%.2lf",sum);
return 0;
}
1052
题目描述
输入n和a,求a+aa+aaa+…aa…a(n个a),如当n=3,a=2时,2+22+222的结果为246
输入
包含两个整数,n和a,含义如上述,你可以假定n和a都是小于10的非负整数
输出
输出前n项和,单独占一行
样例输入 Copy
3 2
样例输出 Copy
246
#include<stdio.h>
#include<math.h>
int main()
{
double item;
int n;
double sum=0;
scanf("%lf%d",&item,&n);
for(int i=1;i<=n;i++){
sum=sum+item;
item=sqrt(item);
}
printf("%.2lf",sum);
return 0;
}
1053
题目描述
输入x,计算上面公式的前10项和。
输入
输入一个实数x。
输出
输出一个实数,即数列的前10项和,结果保留3位小数。
样例输入 Copy
1
样例输出 Copy
0.841
#include<stdio.h>
int main()
{
int i;
double x,z,m,sum,f;
scanf("%lf",&x);
sum=0,m=1,z=x,f=1;
for(i=1;i<=10;i++)
{
sum=sum+f*z/m;
m=m*(2*i)*(2*i+1);
z=z*x*x ;
f=-f;
}
printf("%.3lf",sum);
return 0;
}
1054
题目描述
悟空第一天摘下桃子若干,当即吃掉一半,还不过瘾,又多吃一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?
输入
输入一个数n(1<=n<=30)。
输出
输出第一天的桃子个数。
样例输入 Copy
3
样例输出 Copy
10
#include<stdio.h>
int main()
{
int x;
int n;
scanf("%d",&n);
x=1;
for(int i=1;i<n;i++){
x=2*(x+1);
}
printf("%d",x);
return 0;
}
1055
题目描述
这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。按此规律,假设没有兔子死亡,第一个月有一对刚出生的小兔子,问第n个月有多少对兔子?
输入
输入月数n(1<=n<=44)。
输出
输出第n个月有多少对兔子。
样例输入 Copy
3
样例输出 Copy
2
#include<stdio.h>
int main()
{
int n,max=0;
scanf("%d",&n);
int a[100];
a[0]=1,a[1]=1;
if(n<=2)
{
printf("1");
}else {
for(int i=2;i<n;i++)
{
a[i]=a[i-1]+a[i-2];
if(a[i]>max)
{
max=a[i];
}
}
printf("%d",max);
}
return 0;
}
1056
题目描述
小明对某些数字有偏爱,例如,他喜欢7的倍数,而不喜欢4的倍数,如果一个整数是7的倍数,而不是4的倍数,小明会认为这个数字是他的幸运数字。现在给定两个整数m和n,请你帮小明找m到n范围内的最大的幸运数字。如果m到n范围内没有幸运数字,则输出“no”
输入
两个正整数m和n(m < =n,且均小于10的9次方)
输出
一个整数,即m到n范围内的最大的幸运数字。
样例输入 Copy
90 100
样例输出 Copy
98
#include<stdio.h>
int main()
{
int i,sum=0,n,m;
scanf("%d %d",&m,&n);
for(i=n;i>=m;i--)
{
if(i%7==0&&i%4!=0)
{
printf("%d",i);
sum++;
break;
}
}
if(sum==0)
printf("no");
return 0;
}
1057
题目描述
输入一个正整数n,判断n是否是素数,若n是素数,输出”Yes”,否则输出”No”。 注意:1不是素数。
输入
输入一个正整数n(n<=1000)
输出
如果n是素数输出"Yes",否则输出"No"。输出占一行。
样例输入 Copy
2
样例输出 Copy
Yes
#include<stdio.h>
int main()
{
int x;
int a;
a=0;
scanf("%d",&x);
for(int i=2;i<=x-1;i++){
if(x%i==0){
a=1;
break;
}
}
if(x==1||a==1){
printf("No\n");
}else{
printf("Yes\n");
}
return 0;
}
1058
题目描述
已知不等式 1!+2!+3!+...+m!‹n,请编程对用户指定的n值计算并输出满足该不等式的m的整数解。
输入
输入一个整数n,n为int范围内的正整型。
输出
输出m的取值范围,具体格式见输出样例。
样例输入 Copy
2000000000
样例输出 Copy
m<=12
#include<stdio.h>
int main()
{
int n;
int x=1;
scanf("%d",&n);
double sum=0;
for(int i=1;;i++){
x=x*i;
sum=sum+x;
if(sum>=n){
printf("m<=%d",i-1);
break;
}
}
return 0;
}
1059
题目描述
输入一批学生的成绩(整数),输出最高分。
输入
输入包含多个非负整数和一个负整数。该负数不作为有效成绩,只表示输入结束。
输出
输出一个整数,即最高分。单独占一行。
样例输入 Copy
7 6 5 9 2 -1
样例输出 Copy
9
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
int a[n];
int i,max=0;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]<0) break;
if(max<a[i]){
max=a[i];
}
}
printf("%d",max);
return 0;
}
1060
题目描述
输入一个正整数,将其逆序输出,每个数字后有一个空格。
输入
输入一个正整数n,你可以假设n在int范围内
输出
将n按其逆序输出,每个数字后有一个空格,输出占一行。例如,输入12354,输出4 5 3 2 1
样例输入 Copy
12354
样例输出 Copy
4 5 3 2 1
#include<stdio.h>
#include<math.h>
int main()
{
int x,n,m;
scanf("%d",&x);
n=(int)log10(x)+1;
for(int i=1;i<=n;i++){
m=x%10;
printf("%d ",m);
x=x/10;
}
return 0;
}
1061
题目描述
输入一个不大于10的9次方的正整数,从高位开始逐位分割并输出各位数字。
输入
输入一个正整数n,n是int型数据
输出
依次输出各位上的数字,每一个数字后面有一个空格,输出占一行。例如,输入 12345 ,输出 1 2 3 4 5
样例输入 Copy
12345
样例输出 Copy
1 2 3 4 5
#include<stdio.h>
#include<math.h>
int main()
{
int n;
int a,b,len,pen;
scanf("%d",&n);
len=(int)log10(n)+1;
pen=(int)pow(10,len);
for(int i=1;i<=len;i++){
pen=pen/10;
a=n/pen;
printf("%d ",a);
n=n%pen;
}
return 0;
}
1062
题目描述
输入两个不大于10的9次方的正整数,输出其最大公约数。
输入
输入两个正整数m和n,数据之间用空格隔开。
输出
输出一个整数,表示m和n的最大公约数。
样例输入 Copy
4 6
样例输出 Copy
2
#include<stdio.h>
int main()
{
int m,n,t;
scanf("%d %d",&m,&n);
while(m*n!=0)
{
t=m%n;
m=n;
n=t;
}
printf("%d",m);
return 0;
}
1063
题目描述
输入两个正整数,输出其最大公约数和最小公倍数。
输入
输入两个正整数n和m(n,m<=1000000)。输入保证最终结果在int范围内。
输出
输出两个整数,用空格隔开。表示m和n的最大公约数和最小公倍数。
样例输入 Copy
4 6
样例输出 Copy
2 12
#include<stdio.h>
int main()
{
long long int m,n;
long long int t,x;
scanf("%lld %lld",&m,&n);
x=m*n;
while(m*n!=0)
{
t=m%n;
m=n;
n=t;
}
x=x/m;
printf("%d %d",m,x);
return 0;
}
1064
题目描述
从键盘输入一批字符,以@结束,按要求加密并输出。
输入
从键盘输入一批字符,占一行,以@结束。
输出
输出占一行
加密规则:
1)所有字母均转换为小写。
2)若是字母'a'到'y',则转化为下一个字母。
3)若是'z',则转化为'a'。
4)其它字符,保持不变。
样例输入 Copy
Kyh520@
样例输出 Copy
lzi520
#include<stdio.h>
int main()
{
char ch;
while(scanf("%c",&ch),ch!='@')
{
if(ch>='A'&&'Z'>=ch) ch+=32;
if(ch>='a'&&'y'>=ch) ch+=1;
else if(ch=='z') ch='a';
printf("%c",ch);
}
return 0;
}
1065
题目描述
输入一行字符,以回车符作为输入结束的标志。统计其中数字字符的个数。
输入
多个字符,以回车符结束,回车符不作为有效字符。
输出
输出一个整数,表示数字字符的个数。
样例输入 Copy
12abrt12@2013
样例输出 Copy
8
#include<stdio.h>
int main()
{
char ch;
int sum=0;
while(scanf("%c",&ch),ch!='\n'){
if(ch>='0'&&ch<='9'){
sum++;
}
}
printf("%d",sum);
return 0;
}