計算n的階乘的編程演算法
1、首先打開CodeBlocks,新建一個空白頁面:
㈡ C語言編程 輸入N 求N的階乘
輸入一個正整數n,輸出n!*/#include <stdio.h> //編譯預處理命令
int factorial(int n); //函數聲明
int main(int argc, char const *argv[]) //主函數
{
int n; //變數定義
scanf("%d", &n); //輸入一個整數
printf("%d
", factorial(n)); //調用函數計算階乘
return 0;
}int factorial(int n) //定義計算n!的函數
{
int fact = 1;
for (int i = 1; i <= n; ++i)
{
fact = fact*i;
}
return fact;
}
拓展資料
特點
1. C語言是高級語言。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元。
2.C語言是結構式語言。結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。
3.C語言功能齊全。具有各種各樣的數據類型,並引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大。
4. C語言適用范圍大。適合於多種操作系統,如Windows、DOS、UNIX、LINUX等等;也適用於多種機型。C語言對編寫需要硬體進行操作的場合,明顯優於其它高級語言,有一些大型應用軟體也是用C語言編寫的。
㈢ 用c++語言求n的階乘
1、打開vs6.0軟體,准備一個後綴為cpp的文件,在c++文件中首先寫入頭文件,定義一個處理階乘的函數,接著寫一個空的main函數:
㈣ 編寫程序求n的階乘n!
一般老師喜歡 用遞歸調用法計算 n! 顯得高哪哪大上。
可以用累乘簡單算出。改 double 型則 應用數值范圍 更大。
#include <stdio.h>
int fun(int n){
if (n<1) {printf("=== n must >= 1\n");return 1;}
if (n==1)return 1;
else return n*fun(n-1);
}
int fun2(int n){
int i,r=1;
for (i=1;i<=n;i++) r=r*i;
return r;
}
int main()
{
int n;
printf("input n:\n");
scanf("%d",&n);
printf("%d\n",fun(n)); // 高大上方法
printf("禪辯%d\n",fun2(n)); //簡單賀緩缺適用方法
return 0;
}
㈤ 用遞歸編程方法求n的階乘n!
思路:遞歸求階乘函數,如果輸入的參數等於1則返回1,否則返回n乘以該函數下次遞歸。
參考代碼:
#include
int fun(int n)
{
if(n==1||n==0) return 1;//如果參數是0或者1返回1
return n*fun(n-1);//否則返回n和下次遞歸的積
}
int main()
{
int n;
scanf("%d",&n);
printf("%d\n",fun(n));
return 0;
}
/*
5
120
*/
【遞歸演算法的原理】
遞歸是計算機科學的一個重要概念,遞歸的方法是程序設計中有效的方法,採用遞歸編寫
遞歸能使程序變得簡潔和清晰。
㈥ C++求n的階乘!
以下為C++求階乘的四種方法,需要注意的是,各個代碼只是提供了求階乘的思路,以便在實際需要時再來編碼,各個程序都在1到10內測試正確。
1、該程序在每次輸入n時,都會調用fac()來暴力計算以得到結果:
(6)計算n的階乘的編程演算法擴展閱讀
運行程序後,1-10的結果如下,可供檢驗:
1、當i為:1時階乘值為:1
2、當i為:1時階乘值相加為:1
3、當i為:2時階乘值為:2
4、當i為:2時階乘值相加為:3
5、當i為:3時階乘值為:6
6、當i為:3時階乘值相加為:9
7、當i為:4時階乘值為:24
8、當i為:4時階乘值相加為:33
9、當i為:5時階乘值為:120
10、當i為:5時階乘值相加為:153
11、當i為:6時階乘值為:720
12、當i為:6時階乘值相加為:873
13、當i為:7時階乘值為:5040
14、當i為:7時階乘值相加為:5913
15、當i為:8時階乘值為:40320
16、當i為:8時階乘值相加為:46233
17、當i為:9時階乘值為:362880
18、當i為:9時階乘值相加為:409113
19、當i為:10時階乘值為:3628800
20、當i為:10時階乘值相加為:4037913
㈦ 如何用C語言編寫N的階乘
#include
"stdio.h"
main()
{
int
n,i;
double
p=1;//這里用的是Double,不用Int,因為Int范圍太小
printf("請輸入一個數字:");
scanf("%d",&n);
for(i=2;i<=n;i++)
p*=i;
printf("n!shu=%lf ",p);
}
(7)計算n的階乘的編程演算法擴展閱讀:
用Ruby求 365 的階乘。
def AskFactorial(num) factorial=1;
step(num,1){|i| factorial*=i}
return factorial end factorial=AskFactorial(365)
puts factorial
階乘有關公式
該公式常用來計算與階乘有關的各種極限。
此為斯特林公式的簡化公式。
㈧ c語言求n的階乘程序
所謂n的階乘就是從1到n的累積,所以可以通過一個for循環,從1到n依次求積即可。
參考代碼:
#include "stdio.h"
int main() {
int n,i,s=1。
scanf("%d",&n)。
for(i=1;i<=n;i++)//for循環求累積。
s=s*i。
printf("%d ",s)。
return 0。
注廳閉意事項扮巧裂:
1、任何大於1的自然數n階乘表示方法:n!=1×2×3×……×n 或 n!=n×(n-1)。
2、n的雙階乘:當n為奇數時表示不大於n的所有奇數的乘積。
如:7!=1×3×5×7。
3、當n為偶數時表示不大於n的所有偶數的乘積。
如:8!=2×4×6×8。
4、小於0的整數-n 的階乘寬圓表示:
(-n)!= 1 / (n+1)。
5、0的階乘:0!=0。
6、組合數公式。