㈠ c語言 階乘之和
你的問題是不是要求,組成n 的階乘的數不能重復吧,如果可以重復,那任何數都可以由1的階乘組成!
㈡ 用c語言求階乘之和,有注釋,主函數用來調用
#include<stdio.h>
int fac(int n)//計算n!
{int f=1,i;
for(i=2;i<=n;i++)
f*=i;
return f;
}
int main()
{int n,i,s=0;
scanf("%d",&n);//讀取累加n!的范圍
for(i=1;i<=n;i++)
s+=fac(i);//累加階乘
printf("1!+2!+...%d!=%d
",n,s);//輸出
getch();
return 0;
}
㈢ C語言:求證一個正整數是否為「階乘和數」,咋編程
代碼文本:
#include "stdio.h"
int fact(int n){
if(n==1 || n==0)
return 1;
return n*fact(n-1);
}
int main(int argc,char *argv[]){
int n,t,k,s;
printf("Please enter a positive integer... n=");
if(scanf("%d",&n)==1 && n>0){
printf(" %d,",n);
for(k=1,t=n;t;t/=10,k*=10);
for(s=0,k/=10;k;k/=10){
printf(k>9 ? "%d+" : "%d=",t=fact(n/k%10));
s+=t;
}
printf(n==s ? "%d Yes " : "%d No ",s);
}
else
printf("Input error, exit... ");
return 0;
}
供參考……
㈣ C語言階乘和的問題
#include
long
f(int
n)
{
if(n>1)
return
n*f(n-1);
else
if(n==1)
return
1;
}
void
main()
{
int
i,n;
char
ch='Y';
while(ch=='Y')
{
printf("Input
Data:");
scanf("%d",&n);
long
Sum=0;
if(n<0)
printf("錯誤輸入提示:Data>=0\n");
else
if(n==0)
{
Sum=1;
printf("Reault:Sum=%ld\n",Sum);
}
else
{
for(i=1;i<=n;i++)
Sum=Sum+f(i);
printf("Result:Sum=%ld\n",Sum);
}
fflush(stdin);
printf("Continue???
Y
or
N:");
scanf("%c",&ch);
printf("\n");
}
}
程序在VC++中調試通過了,在您的程序上做了修改,希望能夠幫到您!
㈤ c語言如何求一個數的階乘
n的階乘就是從1到的累積,所以可以通過一個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;
}
/*
運行結果:(例如求5的階乘)
5
120
*/
(5)階乘和數c語言擴展閱讀:
return用法:
return返回一個數值的意思就是把return<表達式>後面表達式的值返回給調用他的函數。舉個例子:
int sum(int i,int j)
{
return i+j;
printf("這個語句不會被執行,因為該子函數執行到上面的return語句就無條件結束了");
}
main()
{
int a=10,b=11,c;
c=sum(a,b);
printf("%d",c);
}
㈥ c語言求階乘的和
這個題目有局限性的,一旦你的N值超過某個數以後,整個Sn的值就會出現溢出現象。這個程序是很好寫的,只要寫一個求一個數階乘的函數fun(int
n)然後用個循環就可以解決問題。
㈦ C語言中階乘怎麼輸
1、不是直接輸入n!,需要一定的演算法才可以實現。具體方法是,首先打開編輯器,准備好空白的C語言文件:
㈧ C語言怎麼求n階乘的和
1
思路
關鍵是寫出求階乘的函數
2
代碼
#include<stdio.h>
//求階乘
intfactorial(intn){
if(n==0||n==1)
return1;
else
returnn*factorial(n-1);
}
intmain(){
intn;
printf("求1!+2!+...+n!的結果
輸入n的值:");
scanf("%d",&n);
intsum=0;
for(inti=1;i<=n;i++){
sum+=factorial(i);
}
printf("結果為:%d
",sum);
getchar();
getchar();
return0;
}
3
運行效果
㈨ c語言求1到n階乘的和用遞歸
1、打開vc6.0,新建一個vc項目,添加頭文件,添加一個空的main函數,這里先定義一個用來求階乘的函數,函數的參數為i,階乘就是不斷的和前面的一個數相乘,這里就是不斷和fact函數相乘,之後編寫主函數的內容:
㈩ c語言階乘求和
#include<stdio.h>
voidmain(){
inti,n,k=1,s=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{k*=i;s+=k;}
printf("%d",s);
}
//運行示例: