易截截图软件、单文件、免安装、纯绿色、仅160KB

C打印 大数的 阶乘

 6000甚至10000,都可以,但大于6000,就开始滚屏了。。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(){
int i,j,*f,tmp,c=0;
long int n,bits;
const double PI=2*asin(1.0),E=exp(1.0);
scanf("%ld",&n);
bits=(long)ceil(n*(log10(n)-log10(E))+log10(2*PI*n)/2);
printf("there are %ld digits\n%ld!=",bits,n);
f=(int*)calloc(bits,sizeof(int));
f[0]=1;
for(i=2;i<=n;i++){
for(j=0;j<bits;j++){
tmp=f[j]*i+c;
c=tmp/10;
f[j]=tmp%10;
} }
for(i=bits-1;i>=0;i--) printf("%d",f[i]);
printf("\n");
return 0;
}


相关文档:

C#——C#中C/C++程序员要注意的问题


1、C/C++程序员请注意,不能在case语句不为空时“向下执行”。
2、值类型和引用类型之间的区别:C#的基本类型(int,char等)都是值类型,是在栈中创建的。而对象是引用类型,创建于堆中,需要使用关键字new。
3、在C#中通过实例访问静态方法或成员变量是不合法的,会生成编译器错误。但是我们可以通过声明他 ......

c/c++中的位操作


C\C++支持比较低阶的位运算,在是众人皆知的了。每本C\C++的教科书都会说到这部分的内容,不过都很简略,我想会有很多人不知道位运算用在什么地方。这个帖子就简略说说位运算的用处,更进一步的用法要大家自己去体会。而主要说的是操作标志值方面。
 /****************************************/
#define BTI ......

[转]C/C++资源大汇总(很好很强大)

1.开发工具下载
TUBER C                     http://www.duote.com/soft/392.html
Turbo C 2.0 汉化版             http://www.programfan.com/showdown.asp?id=306
C-Free 4.0             http:/ ......

JNI 调用C/C++

JNI调用可以加快JAVA的运行速度,主要是将关键的代码用C/C++ 或者mfc完成,在这里贴上我写的一段代码,有兴趣的可以参考:
头文件:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class cn_com_wintone_TLConnectJNI */
#ifndef _Included_cn_com_wintone_TLConnectJ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号