1,n的阶乘如何

#include void main(){int i,k=1,n;scanf("%d",&n);for(i=1;i
一个函数能不能有导数公式,首先要看它可不可导,一个不连续的函数,一定不可导,但即使连续也不一定可导(如y=|x|在x=0时就是连续不可导的情况),此时用可导的定义来分析到底可不可导。根据阶乘的定义函数(x!)是不连续的,所以不能求导。

n的阶乘如何做

2,求 n 的 阶 乘

#includevoid main() { int a[10000],i,j,n; int digit=1; int carry,temp; a[0]=1; scanf("%d",&n); while(n!=-1) { for(i=2;i<=n;i++) { for(j=1,carry=0;j<=digit;j++) { temp=a[j-1]*i+carry; a[j-1]=temp%10; carry=temp/10; } while(carry) { a[++digit-1]=carry%10; carry/=10; } } for(i=digit;i>=1;i--) printf("%d",a[i-1]); printf("\n"); scanf("%d",&n); } }
#include void main () { long double fac(int n); int n; long double fact= 0; printf("Plesae input a number:\n"); scanf("%d",&n); fact=fac(n); printf("%d!=%d\n",n,fact); } long double fac(int n) { int i; long double fac=1; if (n>=0&&n<=100) { for(i=1;i<=n;i++) fac=fac*i; } return fac; }

求 n 的 阶 乘

3,编程算N的阶乘初级

/* This file "jiech2.c" created at 2001-08-24 20:15:22 by LeiPeng .*/#include <conio.h>#include <ctype.h>#include <math.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAXN 0X7000int a[MAXN];int main(int argc,char *argv[]) int n,m,i,j,c,t; printf("Enter n(n>=2) :"); while(1) scanf("%d",&n); if(n>=2&&n<=3276) break; printf("must be 2<=n<=3276"); } a[0]=1; m=1; for(i=2;i<=n;i++) for(c=0,j=0;j<m;j++) t=a[j]*i+c; a[j]=t%10; c=t/10; } while(c) a[m++]=c%10; c/=10; } } printf("%d!=\n",n); for(i=m-1;i>=0;i--) putchar(a[i]+0x30); printf("\npress any key to continue .\n"); getch(); return 0;} /*3000!得结果超出了电脑能显示得范围,所以最好采用数组来记录每位*/#include <stdio.h>main() int data[40]; int digit; int i,j,r,k; int n; for(i=1;i<=40;i++) /* 将数组初始值设为0 */ data[i]=0; data[0]=1; data[1]=1; digit=1; printf("Enter a number what you want to calculus : "); scanf("%d",&n); for(i=1;i<=n;i++) for(j=1;j<=digit;j++) /* 每位上等乘上阶数 digit 决定有几位*/ data[j]*=i; for(j=1;j<=digit;j++) if(data[j]>10) for(r=1;r<=digit;r++) if(data[digit]>10) digit++; data[r+1]+=data[r]/10; data[r]=data[r]%10; } } } printf("%d!=",i); for(k=digit;k>0;k--) printf("%d",data[k]); printf("\n"); } getch();}
int gcd(int m,int n) //m=12,n=6. int r,t; if(m<n) //不符合条件 t=m; m=n; n=t; } while (n!=0) //第一次循环m=18,n=12.符合条件(n!=0) r=m%n ; //第二次循环m=12,n=6.符合条件(n!=0) m=n; //循环后r=0,m=6,n=0 n=r; //第三次循环m=6,n=0.不符合条件,退出 } return m; //return m 的值为6 } t=gcd(x,y);//t等于函数返回值,即m,所以最后输出t=6。 //r不是t,r只是一个临时变量,供数值交换用。r的值的确为0。
overflow溢出了,超出了标准int的上限。如需计算大整数,必须改变算法:分别设几个字段,每个字段各储存整数的前半截和后半截。计算时,通过转换算法把结果拆开存入各字段;显示时,把各字段拼起来。

编程算N的阶乘初级


文章TAG:n的阶乘如何  
下一篇