求阶层,!!!!!!!!!!

求N!,N小于等于10000,输入一个整数n,遇到-1结束。输出,每行一个整数,对应n的运算结果。
浏览 1500回答 3
3回答

#include <stdio.h> main () { int a,b,c; while (scanf("%d",&a)&&a!=-1) { c=1; for (b=1;b<=a;b++) { c=c*b%10007; } printf("%d\n",c); } return 0; }

狼顾之相1995

 i,j,n,w:longint; a:array[1..10000] of integer;procedure fact(k:longint);var x,i:longint;begin x:=0; for i:=1 to w do begin   a[i]:=a[i]*k+x;   x:=a[i] div 10;   a[i]:=a[i] mod 10; end; while x>0 do begin   w:=w+1;   a[w]:=x mod 10;   x:=x div 10; end;end;begin a[1]:=1; w:=1; readln(n); for i:=1 to n do fact(i); for j:=w downto 1 do write(a[j]); writeln;end.这个程序可以做1000以下的阶乘,最大能做到多少没试过

望远

#include<stdio.h> long getSum(int n){ //递归调用 if(n==1) { return 1; } else  return n*getSum(n-1); } void main() { int n; long sum=0; printf("请输入一个整数:"); scanf("%d",&n); while(n!=-1&&n<10000) { sum=getSum(n); printf("%d!=%ld\n",n,sum); printf("请输入一个整数:"); scanf("%d",&n); } }运行结果:
打开App,查看更多内容
随时随地看视频慕课网APP