題目16
一個數(shù)如果恰好等于它的因子之和企垦,這個數(shù)就稱為"完數(shù)"涎永。例如6=1+2+3.編程找出1000以內的所有完數(shù)斯碌。
/*一個數(shù)如果恰好等于它的因子之和一死,這個數(shù)就稱為"完數(shù)"。例如6=1+2+3.編程找出1000以內的所有完數(shù)傻唾。*/
#include<stdio.h>
int main(){
int i;
int n,sum=0;
printf("找到的完數(shù)有:\n");
for(i=1;i<1000;i++){
for(n=1;n<i;n++){
if(i%n == 0){
sum = sum+n;
}
}
if(sum == i){
printf("%d\t",i);
sum = 0;
}
else{
sum = 0;
}
}
return 0;
}
題目17
一球從100米高度自由落下投慈,每次落地后反跳回原高度的一半;再落下冠骄,求它在第10次落地時伪煤,共經(jīng)過多少米?第10次反彈多高凛辣?
/*一球從100米高度自由落下抱既,
每次落地后反跳回原高度的一半;
再落下蟀给,求它在第10次落地時蝙砌,共經(jīng)過多少米阳堕?第10次反彈多高跋理?*/
#include<stdio.h>
int main(){
float h = 100; //初始高度
float sum = 0; //路程
float l = h;
int num; //彈跳次數(shù)
printf("請輸入彈跳次數(shù): ");
scanf("%d",&num);
int i;
for(i=1;i<num;i++){
l = l/2;
sum = 2*l + sum;
}
sum = sum + h;
printf("第%d次落地時,共經(jīng)過%f米恬总,第%d次反彈會高%f米\n",num,sum,num,l/2);
return 0;
}
題目18
猴子吃桃問題:猴子第一天摘下若干個桃子前普,當即吃了一半,還不癮壹堰,又多吃了一個,第二天早上又將剩下的桃子吃掉一半拭卿,又多吃了一個骡湖。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時峻厚,見只剩下一個桃子了响蕴。求第一天共摘了多少?
/*猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半惠桃,
還不癮浦夷,又多吃了一個,第二天早上又將剩下的桃子吃掉一半,
又多吃了一個辜王。以后每天早上都吃了前一天剩下的一半零一個劈狐。
到第10天早上想再吃時,見只剩下一個桃子了呐馆。求第一天共摘了多少肥缔。*/
#include<stdio.h>
int main(){
int day; //天數(shù)
printf("請問是幾天前:");
scanf("%d",&day);
int x1,x2; //x1 是當天的,x2 是下一天的桃子數(shù)量
// 因為 x2 = x1/2 + 1;
// 所以 x1 = (x2+1)*2;
x2 = 1; //當前有的數(shù)量
int i;
for(i=1;i<day;i++){
x1 = (x2+1)*2;
x2 = x1;
}
printf("\n%d天前有%d個桃子\n",day,x1);
return 0;
}
題目19
有一分數(shù)序列:2/1汹来,3/2续膳,5/3,8/5收班,13/8姑宽,21/13...求出這個數(shù)列的前n項之和
/*有一分數(shù)序列:2/1,3/2闺阱,5/3炮车,8/5,13/8酣溃,21/13...求出這個數(shù)列的前n項之和*/
#include<stdio.h>
int main(){
float a=2,b=1;
float sum = 0;
int num;
printf("需要求前幾項之和瘦穆?\n");
scanf("%d",&num);
int i,c;
for(i=0;i<num;i++){
sum = sum + a/b;
c = a+b;
b = a;
a = c;
}
printf("\n前%d項之和等于:%f \n",num,sum);
return 0;
}
題目20
求1+2!+3!+...+n!的和。
/*求1+2!+3!+...+n!的和赊豌。*/
#include<stdio.h>
int main(){
int num;
printf("1+2!+3!+...+n! 需要求前幾項之和扛或?\n");
scanf("%d",&num);
int i,j;
double c = 1;
double sum = 0;
for(i=1;i<=num;i++){
for(j=1;j<=i;j++){
c = c*j;
}
sum = sum + c;
c = 1;
}
printf("\n求得結果為:%lf",sum);
return 0;
}