㈠ 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);
}
//运行示例: