找出三位水仙花数 (15 分)
本题要求编写程序,输出给定正整数M和N区间内的所有三位水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。
输入格式:
输入在一行中给出两个正整数M和N(100≤M≤N≤999)。
输出格式:
顺序输出M和N区间内所有三位水仙花数,每一行输出一个数。若该区间内没有三位水仙花数,则无输出。
如果M或者N不符合题目的要求,则输出Invalid Value.
。
输入样例1:
100 400
结尾无空行
输出样例1:
153
370
371
结尾无空行
输入样例2:
500 600
结尾无空行
输出样例2:
结尾无空行
输入样例3:
990 101
输出样例3:
Invalid Value.
#include <stdio.h>
#include <math.h>
int main()
{
int M,N;
scanf("%d%d",&M,&N);
if(N>=M&&M>=100&&N<=999)
{
for(int i=M;i<=N;i++)
{
int a,b,c;
a=i/100;
b=i%100/10;
c=i%10;
if(pow(a, 3)+pow(b,3)+pow(c,3)==i)
printf("%d\n",i);
}
}
else
printf("Invalid Value.");
return 0;
}
求交错序列前N项和 (15 分)
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,结果保留三位小数。
输入样例:
5
结尾无空行
输出样例:
0.917
结尾无空行
#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
int i,flag=1;
float sum=0;
for(i=1;i<=N;i++)
{
sum=sum+flag*(1.0*i/(2*i-1));
flag=-flag;
}
printf("%.3f",sum);
return 0;
}