c語言程式設計n的階乘,C語言程式設計 N的階乘

時間 2021-08-11 17:46:03

1樓:高寵_小霸王

#include

#include"stdio.h"

int input(int min,int max);

void main()

j--;}

for(i=2569;!s[i--];) len--;

if(n==m) printf("%d!=",n);

else printf("a%d %d=",n,m);

if(len<=20)

for(i=len-1;i>=0;i--)printf("%d",s[i]);

else

printf("\n");}

int input(int min,int max)}while(again);

return result;}

我的這個程式不只能算階乘,還能算排列數就是高中學的an m,比如a5 3=5*4*3,你從鍵盤輸入的第一個數是n,第二個數是m。int型變數最大能表示到32767,但是我做的程式能突破這個上限,而且如果結果過長,可以用e指數表示。

2樓:聽不清啊

#include

int main()

int n,i,f=1;

printf("請輸入一個整數:");

scanf("%d",&n);

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

f*=i;

printf("%d!=%d\n",n,f);

getch();

return 0;

3樓:時光長河中一瞬

#include

int main(void)

不知道你要的是不是這個啊。 我也是初學者。

4樓:匿名使用者

int recursion(int x)

遞迴,在main函式裡面呼叫就好了,好久沒看過c了,不知對不對,你試試吧,重要的是這個思想.......

5樓:

高精度階乘

#include

#include

#include

struct hp;

hp x,y,z;

int main()

6樓:機晏藤映真

你是不是求c語言編寫求n階乘的**?

/*求n的階乘

*/#include

"stdio.h"int

main(void)

c語言,求n階乘的**?

7樓:糖糖小小個

思路:所謂n的階乘就是從1到n的累積,所以可以通過一個for迴圈,從1到n依次求積即可。

參考**:

#include "stdio.h"

int main()

/*執行結果:(例如求5的階乘)

5120*/

8樓:匿名使用者

for (;;)

console.writeline("的階乘值為", num, jc);

console.writeline("你是否還需要使用此階乘計算器,1-是,2-否");

int numb = int.parse(console.readline());

if (numb == 1)

if (numb == 2)

}console.readkey();

9樓:

#include

int main()

printf("n的階乘是%d\n", sum);

return 0;}

10樓:ylf塵風

#include"stdio.h"

void main()

11樓:窮圖末錄

function jiecheng(int i)

12樓:提防

int res=1;

for(int i=1;i<=n;i++)res*=i;

return res;

c語言程式設計:求n的階層

13樓:匿名使用者

你是要求n的階乘吧?很簡單,就兩句話,**如下:

int fac(int n)

14樓:匿名使用者

就是一個for迴圈啊

int i,result = 1;

for(i = 1; i <= n; i++)

15樓:匿名使用者

#include

void func(int n)

int main()

c語言中如何程式設計計算階乘?

16樓:eda亂碼

遞迴函式

fun(int n)

只要主函式呼叫這個函式,即可計算階乘。

c語言 程式設計實現求n!要求用定義求階乘的函式

17樓:飛喵某

1、開啟vs2017軟體,新建c語言的工程,首先開頭引入標頭檔案,然後呼叫先呼叫一下求階乘的函式和空的主函式,最下方定義prime函式用來求階乘:

2、主函式中用scanf函式接受使用者輸入的的數字,接著將輸入的數傳入處理階乘的函式中完成計算,最後輸出列印結果。prime函式有一個引數,首先判斷是否為正數,然後用prime函式自身乘以引數s,最後返回值即可完成:

3、將程式編譯執行,彈出視窗輸入任意的數,計算階乘;這裡輸入7,得到結果是5040。以上就是c語言求階乘的方法:

18樓:文化廚子

#include

long fac(unsigned n)

else

}int main()

注意:0的階乘是1,不是0,因為階乘表示的是全排列,是從n箇中取出n個的所有的取法總數。所以當n==0或者n==1時返回1。

19樓:匿名使用者

本人小白,多多指教

#pragma warning(disable:4996) //vs07防報錯

#include

#include

int factorial(int n)

return resulta;

}int sum(int n)

return resultb;

}int main()

還可以寫成:

#pragma warning(disable:4996)

#include

#include

int sum(int n)

return resultb;

}int main()

寫了兩個自定義函式: factorial()用來計算階乘,sum()用來計算累加值。

factorial()

第一部分:

n!=1x2x3...xn。設resulta=1x2x3....xn。用i表示第幾次計算。

數學計算的詳細步驟:

當i=1時, 1x1=1 第1次計算

當i=2時, 1x2=2 第2次計算

當i=3時, 2x3=6 第3次計算

當i=4時, 6x4=24 第4次計算

當i=n-1時 ax(n-1)=b 第n-1次計算

當i=n時, bxn=c 第n次計算

第二部分:

在c語言中乘法計算例如:int a=1;a=a*2意思是將a的原來的值(舊值)1x2將結果(新值)賦值給a,

a的值變為2.再進行a=a*3意思就是將a原來的值2x3將結果(新值)再次賦值給a,a的值變為6.

上面可以看出:(resulta簡寫為a)

i=1時,(a的舊值)1xi=(a的新值)1 。第1輪結束,a的值從舊值1變成了新值1.

(第一輪中a的新值1相對在第二輪中,看做是a的舊值,依次類推)

i=2時,(a的舊值)1xi=(a的新值)2。 第2輪結束,a的值從舊值1變成了新值2.

i=3時,(a的舊值)2xi=(a的新值)6。 第3輪結束,a的值從舊值2變成了新值6.

i=4時,(a的舊值)6xi=(a的新值)24。第4輪結束,a的值從舊值6變成了新值24.

i=n時,(a的舊值)bxi= (a的新值)b。 第n輪結束,a的值從舊值$變成了新值$(這個新值就是最終值).

第三部分:上面可以看出:

計算a的最終值:進行了n輪,迴圈計算:a的舊值xi=a的新值。

將a的舊值xi=a的新值,寫成**的形式:resulta=resulta*i;即resulta*=a;

從第二部分還能看出:i的初值是i=1;i的範圍是i<=n;i的變化是每次自身+1即i++;迴圈計算->for語句。

resulta初值是1.

int i,resulta=1;

for(i=1;i<=n;i++)

sum()

第一部分:

從1!+2!+3!....+n!可以看出一共有n個階乘。設resultb=1!+2!+3!....+n!(resultb簡寫b)

當n=1,只有1!,0+1!=1 只有1次計算 。當n=2時有1!,2!,先計算0+1!=1再1+2!=3,有兩次計算。

當n=3,有1!,2!,3!。先算0+1!=1再1+2!=3再3+3!=9,有3次計算,依次類推

當n=n,有1!,2!.....n!。會有n次計算。用i表示第幾次計算。

換種寫法:

當i=1時,第一次計算 0+1!值=0+1=1

當i=2時,第二次計算 1+2!值=1+2=3

當i=3時,第三次計算 3+3!值=3+6=9

當i=4時,第四次計算 9+4!值=9+24=33

當i=n-1時第n-1次計算 e+(n-1)!值=a

當i=n時,第n 次計算 a+n!值=a+b=resultb

根據c中加法的意思:

i=1, b舊+ factorial(1)=b新 呼叫factorial()

i=2, b舊+ factorial(2)=b新

i=n, b舊+ factorial(i)=b新

第二部分:

寫成**:resultb=resultb+ factorial(i),

1的初值i=1;i的範圍i<=n;i每次自身加一i++;迴圈計算->for語句。

int i,resultb=0;

for(i=1;i<=n;i++){

resultb+= factorial(i)

20樓:匿名使用者

計算階乘的c#**:

for (;;)

console.writeline("的階乘值為", num, jc);

console.writeline("你是否還需要使用此階乘計算器,1-是,2-否");

int numb = int.parse(console.readline());

if (numb == 1)

if (numb == 2)

}console.readkey();

21樓:匿名使用者

long fact(long n)

}void main()

22樓:童末

#include

#include

using namespace std;

int main()cout<

return 0;}

C 求n的階乘,用c 語言求n的階乘

理陽波 以下為c 求階乘的四種方法,需要注意的是,各個 只是提供了求階乘的思路,以便在實際需要時再來編碼,各個程式都在1到10內測試正確。1 該程式在每次輸入n時,都會呼叫fac 來暴力計算以得到結果 2 該程式利用了陣列記錄已得到的結果,並在計算下一個結果時利用了已得到的結果。3 應該說該 實用性...

C語言程式設計求序列前N項和,C語言程式設計 本題要求編寫程式,計算序列 1 1 4 1 7 1 10 的前N項之和

2 1 3 2 5 3 8 5 這個數列每項的分子 分母分別是fibonacci數列的後一項與前一項。求這一數列前n項的和可採取n由鍵盤輸入,設一迴圈按fibonacci數列規律求出分子與分母,將將分式轉換為浮點除法求值累加獲得最後結果。舉例 如下 include stdio.h int main ...

C語言程式設計,C語言程式設計

很多程式都是非常簡單的 1.輸入2個正整數m和n,求其最大公約數和最小公倍數 include include int main 3.程式設計計算從1到10各數階乘的和,即1 2 3 9 10 的和 include int main void printf 1到10各數階乘的和 d n sum ret...