当前位置: 代码迷 >> 综合 >> C语言_算法_8
  详细解决方案

C语言_算法_8

热度:8   发布时间:2024-01-30 15:47:02.0

8.1 水仙花数(153=1?+5?+3?)

#include <stdio.h>
int main() {int i,m,n,s;for(i=99;i<=999;i++){m=i/100;n=i%100/10;s=i%10;if(i==m*m*m+n*n*n+s*s*s)printf("%d+%d+%d=%d\n",m,n,s,i); }return 0;}

8.2 完数(6=1+2+3,1,2,3为6的因子)

#include <stdio.h>
int main() {int i,j,sum=0;for(i=2;i<=1000;i++){for(j=1;j<i;j++){if(0==i%j){sum +=j;			} 	}if(sum==i){printf(" %d 的完数 ",sum);for(j=1;j<i;j++){if(0==i%j){printf("%d ",j);			} 	}printf("\n");}sum=0;		}return 0;}

8.3有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13····· 求这个数列的前20项之和

#include <stdio.h>
int main() {int i;double m=2.0,n=1.0,temp,sum=0.0;for(i=1;i<=20;i++){sum +=m/n;temp=m;m +=n;n=temp;}printf("%.4lf",sum);return 0;}

8.4 一个球从100m高度自由落体,每次落地后跳原高度的一半,再落下,再反弹。求它再第10落地时,经过多少米,第10次反弹多高

#include <stdio.h>
int main() {int i,m=10;double s,n=100.0;for(i=1;i<=m;i++){n /=2;s +=n; }printf("总共经过%.2lf,第%d次反弹%.2lf",s,m,n);return 0;
}

8.5 猴子吃桃问题

#include <stdio.h>
int main() {int i,n=1,sum=0;for(i=10;i>0;i--){n =2*n+1;printf("总桃子为:%d ",n);}return 0;
}

 

  相关解决方案