两道题目:水仙花数、分数求和
题目1
![]()
代码
//水仙花数
#include <stdio.h>
int main(){
int m,n;
while(scanf("%d%d",&m,&n) != EOF){
if(m == 0 && n == 0)break;//m n都是0时跳出循环
int found = 0;//标记有无找到水仙花
for(int i = m;i <= n;i++){
int num = i,sum = 0;//num是临时变量,sum每次循环前重置
//求出一个数的个数立方和
while(num != 0){//(加工后数字)取整不是0后,终止循环
sum = sum + (num % 10)* (num % 10)*(num % 10);//假如num开始是153,这里就是sum=3*3*3
num = num / 10;//这里num变成了15
}
//判断求和是否等于本身,要用一个数标记全部中有无水仙花
if(sum == i){
printf("%d ",i);
found = 1;
}
}
//跳出循环来看总的有无水仙花
if(found == 0){
printf("no");
}
printf("\n");
}
return 0;
}
题目2
![]()
代码
//分数求和
#include <stdio.h>
int main(){
int n;
scanf("%d",&n);
double up = 2,down = 1;
double result;
for( int i = 0;i < n;i++){
result = result + up/down;
double temp = down;
down = up;
up = up + temp;
}
printf("%.2lf",result);
return 0;
}