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...