求階乘之和c語言
㈠ 用c語言怎樣求階乘之和
用C語言怎樣求階乘之和? 思路 編個函數求n的階乘的
遞歸方法
int f(int n){
if(n==1) return 1;
else return n*f(n-1);
}
再在主方法裡面編個循環求階乘之和
int sum=0;
for(i=1;i<=n;i++){
sum=sum+f(i);
}
怎樣用C語言求500000的階乘?
先寫兩個大數相乘的函數,為了提高效率,定義的數組每個存9位,一個個乘時間肯定是不夠的,最好這樣比如說先求250 000個積,再用這些積求125 000個積,。。。用空間換取時間
就差不多了
C語言用"for"怎麼算1~20!階乘之和啊?
回答的都很好~
c語言:1到100的階乘之和,100用N輸入
#include <stdio.h>
#include <stdlib.h>
#define MAX 200
int f[MAX]={0},sum[MAX]={0};大整數,每個int存一個十進制數字,從低位到高位
void main(void)
{
int i,j,n;
f[0]=1;
printf("Input N: ");
scanf("%d",&n);輸入N
for(j=1;j<=n;j++)
{
calc factorial,每位乘j
for(i=0;i<200;i++)
f[i]*=j;
進位
for(i=0;i<199;i++)
{
f[i+1]+=f[i]/10;
f[i]%=10;
}
add to sum
for(i=0;i<200;i++)
sum[i]+=f[i];
sum進位
for(i=0;i<199;i++)
{
sum[i+1]+=sum[i]/10;
sum[i]%=10;
}
}
從最高位開始輸出
先找到最高位
printf("\n\nThe result is:\n");
i=199;
while(sum[i]==0)
i--;
while(i>=0)
printf("%d",sum[i--]);
system("pause");
}
用c語言怎樣編1到10的階乘和
用循環
int sum=1;
for(int i=1;i<=10;i++)
sum=sum*i;
或者用遞歸函數,可能你還沒有學
C語言怎麼求0 2 4 6 .2n的階乘之和啊
#include <stdio.h>求n!的值int func(int n){ if(n == 0 || n==1) return 1; else return n*func(n-1);}int main(){ int n,i,sum=0; printf("輸入n的值: "); scanf("%d",&n); if(n<=0) { printf("Input Error!\n"); return -1; } for(i=0;i<=n;i++) { sum+=func(2*i); } printf("0!+2!+4!+...+(2n)!= %d\n",sum); return 0;} 示例運行結果:
輸入n的值: 3
0!+2!+4!+...+(2n)!= 747
輸入n的值: 2
0!+2!+4!+...+(2n)!= 27
c語言程序設計求一的階乘,三的階乘,五的階乘之和
#include <stdio.h>int fac(int n);int main(){ int sum = 0; sum = fac(1) + fac(3) + fac(5); printf("%d",sum); return 0;}int fac(int n){ int i = 0; int sum = 0; for(; i<=n; i++) sum += i; return sum;}
幫我用c語言編個求兩個階乘之和的程序
int GetN(int x)
{
if(x=1)
return x;
else
return x*GetN(--X);
}
main()
{
int a,b;
Scanf("%d",&a);
Scanf("%d",%b);
printf("%d",GetN(a)+GetN(b));
}
c語言階乘用循環句兩個for怎樣求和?
輸入以下程序可實現兩個for求和:
#include<stdio.h>
void main()
{
int sum=0,n,m=1,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1,m=1;j<=i;j++)
m*=j;
sum+=m;
}
printf("n的階乘=%d\n",sum);
}
急求C語言階乘的和
#include "stdio.h"
main()
{
int i,j,sum1,sum=0,n;
printf("請輸入n:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum1=1;
for(j=1;j<=i;j++)
{
sum1=sum1*j;
}
sum=sum+sum1;
}
if(n==0) sum=1;
printf("\n階乘的和為:%d",sum);
}
內層for語句是求i的階乘,外層for語句是求0!+1!+……+n!
㈡ C語言一到十的階乘的和怎麼編程
C語言一到十的階乘編程方法:
1.記一個變數sum=0,用於累加。
2.記一個變數fact=1,用於累乘。
3.定義i從1到10循環。
4.每次循環將i累乘至fact,即fact=fact*i; // fact此時等於i的階乘,類似於6!=5!*6。
5.每次循環將fact累加至sum,即sum=sum+fact; //sum此時就是1到i的階乘的和。
程序最後,將sum輸出,就是你要的結果了。
要學會編程,一定要有自己的思路。直接給你代碼,但是你還是不知其所以然的話,等於沒用。
如果我沒理解錯的話,你現在要做的是計算1!+2!+3!+...+10!
這個世界上,絕大多數的程序,都是可以手算出來的,區別在於花費的時間不同。像這種只要完成九年義務教育就可以做出來的數學題,我現在讓你手算,你也能很快算出來。
總結如下:
那現在,如果讓你試著手算一下,會發現,你其實並不會呆板地去死算,你會偷懶走捷徑。
比如,你在計算完5!之後,再去計算6!的時候,你就不會從頭從1一直乘到6了,而是直接用已經算過的5!乘以6就可以了。
然後等你把1!到10!全算出來的話,其實也只是做了9次乘法而已,剩下的,就只要再做9次加法就好了。所以這個程序的本質就是累乘和累加。
㈢ C語言怎樣求1到100的階乘和
我們經常會使用C語言進行各種數學運算,那麼如何利用C語言求1到100的階乘和呢?下面我給大家演示一下。
工具/材料
Dev C++
首先打開Dev C++軟體,新建C語言控制台項目,如下圖所示
然後在main.c文件中輸入計算階乘的邏輯代碼,如下圖所示
接下來我們編譯寫好的C語言文件,如下圖所示
最後執行C語言文件,我們就可以得到1到100的階乘之和了,如下圖所示
㈣ c語言求1到n的階乘之和s
最基礎的思路,是逐個求階乘,並累加。不過由於階乘是從1乘到n,所以每個數都單獨求一次階乘,會有很多重復運算,影響效率。
所以更快捷的方式是,在上一個數的階乘基礎上,直接乘上本身,得到當前數的階乘。
以此為主導,代碼如下:
#include <stdio.h>
int main()
{
int n, i, n1 = 1,s=0;
scanf("%d",&n);//輸入n值。
for(i=1; i <= n; i ++)
{
n1*=i;//計算i的階乘。
s+=n1;//累加。
}
printf("%d\n", s);//輸出結果。
}
㈤ c語言階乘求和
輸入以下程序可實現兩個for求和:
#include<stdio.h>
void main()
{
int sum=0,n,m=1,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1,m=1;j<=i;j++)
m*=j;
sum+=m;
}
printf("n的階乘=%d
",sum);
}
㈥ 怎麼用c語言函數計算出1-100的階乘之和
利用for循環計算1~100的階乘,將1~100的階乘累加到sum中就是所求。
#include<stdio.h>
void main()
{
int i;
double t=1,sum=0; //由於100的階乘int和long int都放不下.所以用double.
for(i=1;i<=100;i++) //從1循環到100.
{
t = t * i; //計算1~100的階乘.
sum = sum + t; //將1~100的階乘累加到sum中.
}
printf("%.0f ",sum); //輸出sum.
}
利用for循環計算1~100的階乘,將1~100的階乘累加到sum中就是所求。
㈦ 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到100的階乘和
操作方法01
首先打開Dev C++軟體,新建C語言控制台項目,如下圖所示
㈨ 1到20階乘的和用c語言表達
#include <stdio.h>
long jiecheng(int x)
{
long int i,k=1;
for(i=1;i<=x;i++)
k=k*i;
return k;
}
int main()
{
long int j,k=0;
int i;
for(i=1;i<=20;i++)
{
j=jiecheng(i);
k+=j;
}
printf("%ld ",k);
}
(9)求階乘之和c語言擴展閱讀:
使用其他方法實現求1到20階乘的和:
public class Main{
public static void main(String[] args){
int i,j;
int sum=0;
int a=1;
for(i=1;i<=20;i++){
for(j=1;j<=i;j++){
a*=j;
}
sum+=a;
}
System.out.print("sum=1!+2!+3!+...+20!="+sum);
}
}
㈩ c語言求1到n階乘的和用遞歸
1、打開vc6.0,新建一個vc項目,添加頭文件,添加一個空的main函數,這里先定義一個用來求階乘的函數,函數的參數為i,階乘就是不斷的和前面的一個數相乘,這里就是不斷和fact函數相乘,之後編寫主函數的內容: