C語(yǔ)言 實(shí)現(xiàn)N階乘的程序代碼
更新時(shí)間:2013年05月24日 09:02:55 作者:
本篇文章是對(duì)c語(yǔ)言中實(shí)現(xiàn)N階乘的程序代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
代碼如下所示:
#include <stdio.h>
#include <stdlib.h>
#define N 10 //算N的階乘
int main()
{ //數(shù)組 1位 1!
int ary[N] = {1, 1};
int i, j;
for (i = 2; i <= N; i++)
{
//各個(gè)下標(biāo)的階乘,第0位下標(biāo)是位數(shù),所以從第1位開始
for (j = 1; j <= ary[0]; j++)
{
ary[j] = ary[j] * i;
}
//處理進(jìn)位問題 1W就進(jìn)一位
for (j = 1; j <= ary[0]; j++)
{
if (ary[j] >= 10000)
{
//進(jìn)位
ary[j+1] = ary[j+1] + ary[j] / 10000;
//進(jìn)位后就只留下余數(shù)
ary[j] = ary[j] % 10000;
}
}
//有進(jìn)位的話,位數(shù)就+1
//這里j已經(jīng)是位數(shù)大于1了
if (ary[j] >= 1)
{
ary[0]++;
}
}
//倒序輸出
for (j = ary[0]; j > 0; j--)
{
printf("%d", ary[j]);
}
printf("\r\n");
return 0;
}
復(fù)制代碼 代碼如下:
#include <stdio.h>
#include <stdlib.h>
#define N 10 //算N的階乘
int main()
{ //數(shù)組 1位 1!
int ary[N] = {1, 1};
int i, j;
for (i = 2; i <= N; i++)
{
//各個(gè)下標(biāo)的階乘,第0位下標(biāo)是位數(shù),所以從第1位開始
for (j = 1; j <= ary[0]; j++)
{
ary[j] = ary[j] * i;
}
//處理進(jìn)位問題 1W就進(jìn)一位
for (j = 1; j <= ary[0]; j++)
{
if (ary[j] >= 10000)
{
//進(jìn)位
ary[j+1] = ary[j+1] + ary[j] / 10000;
//進(jìn)位后就只留下余數(shù)
ary[j] = ary[j] % 10000;
}
}
//有進(jìn)位的話,位數(shù)就+1
//這里j已經(jīng)是位數(shù)大于1了
if (ary[j] >= 1)
{
ary[0]++;
}
}
//倒序輸出
for (j = ary[0]; j > 0; j--)
{
printf("%d", ary[j]);
}
printf("\r\n");
return 0;
}
相關(guān)文章
數(shù)組名不等于指針?sizeof()函數(shù)求數(shù)組大小錯(cuò)誤問題及解決
這篇文章主要介紹了數(shù)組名不等于指針?sizeof()函數(shù)求數(shù)組大小錯(cuò)誤問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
C語(yǔ)言中數(shù)組常用的一些排序算法小結(jié)
數(shù)組的排序方法有很多,效率也各不相同,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中數(shù)組常用的一些排序算法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
C++實(shí)現(xiàn)簡(jiǎn)易圖書館管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)簡(jiǎn)易圖書館管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
C語(yǔ)言植物大戰(zhàn)數(shù)據(jù)結(jié)構(gòu)二叉樹堆
這篇文章主要為大家介紹了C語(yǔ)言植物大戰(zhàn)數(shù)據(jù)結(jié)構(gòu)二叉樹堆的圖文示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
C++解密Chrome80版本數(shù)據(jù)庫(kù)的方法示例代碼
這篇文章主要介紹了C++解密Chrome80版本數(shù)據(jù)庫(kù)的方法示例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05

