最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
北海市| 荔波县| 永顺县| 平潭县| 师宗县| 河东区| 盐边县| 比如县| 敖汉旗| 平和县| 平凉市| 迁西县| 邯郸县| 崇文区| 宁夏| 博罗县| 宕昌县| 沙雅县| 西贡区| 轮台县| 张北县| 色达县| 上思县| 凤城市| 灯塔市| 红桥区| 镇平县| 广南县| 遵化市| 页游| 嵩明县| 宜州市| 淮南市| 宁都县| 武夷山市| 炉霍县| 贡嘎县| 咸宁市| 丹东市| 山东省| 吉木萨尔县|