无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C語(yǔ)言:階乘和數(shù)(正序)

2023-05-27 11:21 作者:wangyanhpa  | 我要投稿

【問(wèn)題描述】

?一個(gè)正整數(shù)如果等于組成它的各位數(shù)字的階乘之和,則該正整數(shù)稱(chēng)為階乘和數(shù)。例如正整數(shù)145,1!+4!+5!等于145,因此145就是一個(gè)階乘和數(shù)。輸入一個(gè)正整數(shù),計(jì)算它的各位數(shù)字的階乘之和,并判斷它是否是一個(gè)階乘和數(shù)。注意:輸入的正整數(shù),以及組成它的各位數(shù)字的階乘之和都不會(huì)超過(guò)int類(lèi)型的表示范圍,并且輸入的正整數(shù)的最高位不為0。

【輸入形式】

?從控制臺(tái)輸入一個(gè)正整數(shù)。

【輸出形式】

先輸出輸入的正整數(shù)和一個(gè)逗號(hào)“,”,并從最高位開(kāi)始輸出組成該正整數(shù)的各位數(shù)字的階乘相加形式,然后輸出等號(hào)“=”和各位數(shù)字階乘之和,最后在下一行輸出字符串“Yes”表示該正整數(shù)是階乘和數(shù),否則輸出字符串“No”表示該正整數(shù)不是階乘和數(shù),輸出Yes或No后輸出回車(chē)換行符。所有輸出字符之間都沒(méi)有空格分隔。

【輸入樣例1】145

【輸出樣例1】

?145,1!+4!+5!=145

?Yes

【輸入樣例2】

?1400

【輸出樣例2】

?1400,1!+4!+0!+0!=27

?No

參考代碼

#include<stdio.h>


//求一個(gè)整數(shù)m的階乘t

int jiecheng(int m)

{

int t=1,i;

for(i=2;i<=m;i++)

t=t*i;

return t;

}


//求一個(gè)整數(shù)n的位數(shù)w

int weishu(int n)

{

int w=0;

while(n)

? ? {

? ? ? ? n=n/10;//每次去掉數(shù)字最后一位

? ? ? ? w++;//循環(huán)一次計(jì)數(shù)器+1

? ? }

? ? return w;

}


//將一個(gè)整數(shù)n各位存儲(chǔ)在一個(gè)數(shù)組中,返回?cái)?shù)組長(zhǎng)度

int toArr(int n,int a[20])

{

int i,len=weishu(n);

for(i=len-1;i>=0;i--)

{

a[i]=n%10;

n=n/10;

}

return len;

}


int main()

{

? ? int i,len,n,s=0,a[20]={0};

//len:數(shù)位數(shù)

? ? scanf("%d",&n);

? ? printf("%d,",n);

len=toArr(n,a);

for(i=0;i<len;i++)

{

s=s+jiecheng(a[i]);

if (i!=len-1)

printf("%d!+",a[i]);

else

printf("%d!",a[i]);


}

printf("=%d\n",s);

if(s==n)

printf("Yes\n");

else

printf("No\n");


return 0;

}




C語(yǔ)言:階乘和數(shù)(正序)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
喀什市| 竹溪县| 香港| 辽源市| 周宁县| 乾安县| 岑巩县| 新源县| 敖汉旗| 巴青县| 拜泉县| 星子县| 陆丰市| 都江堰市| 百色市| 珲春市| 浮梁县| 齐河县| 祁连县| 平顺县| 谷城县| 霍城县| 怀化市| 潜山县| 南宫市| 边坝县| 霍山县| 大港区| 贵港市| 奉贤区| 中卫市| 莱西市| 石嘴山市| 绵竹市| 海城市| 班戈县| 吉木乃县| 淅川县| 塔河县| 屯昌县| 钟山县|