摘要: 快速查找素数时间限制:1000 ms | 内存限制:65535 KB难度:3描述现在给你一个正整数N,要你快速的找出在2.....N这些数里面所有的素数。输入给出一个正整数数N(N#includeint main(){ int a[2000001]; int i,j,m; memset(a,0,sizeof(a)); for(i=2;i<=1000000;i++) { if(a[i]!=1) { for(j=i+i;j<=2000000;j+=i) a[j]=1; ... 阅读全文
posted @ 2013-08-20 21:43 王莜轩 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 我排第几个时间限制:1000 ms | 内存限制:65535 KB难度:3描述现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?输入第一行有一个整数n(0#includeint fun(int k){ int i,jie=1; for(i=1;ia[j]) m++; } sum+=(a[i]-'a'-m)*count; } printf("%d\n",sum); } return 0;} 此题其实就是排列问题,所以用到阶乘。注意阶乘是12-1-i;为什么会有-1呢?因 阅读全文
posted @ 2013-08-20 19:51 王莜轩 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 求余数时间限制:1000 ms | 内存限制:65535 KB难度:3描述现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数除10003之后的余数输入第一行有一个整数m(1#includeint main(){ int n; scanf("%d",&n); while(n--) { int len,i,count=0; char a[1000010]; memset(a,0,sizeof(a)); scanf("%s",a); len=strlen(a); for(i=0;i<len;i++) count=(count 阅读全文
posted @ 2013-08-20 18:12 王莜轩 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 九的余数时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数整除九之后的余数。输入第一行有一个整数m(1#includeint main(){ int n; scanf("%d",&n); while(n--) { int len,i,count=0; char a[1000010]; memset(a,0,sizeof(a)); scanf("%s",a); len=strlen(a); for(i=0;i<len;i++) count+=(a[i]- 阅读全文
posted @ 2013-08-20 17:56 王莜轩 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 次方求模时间限制:1000 ms | 内存限制:65535 KB难度:3描述求a的b次方对c取余的值输入第一行输入一个整数n表示测试数据的组数(nlong long fun(long long a,long long b,long long c){ long long r=a%c; long long k=1; while(b) { if (b&1) k=(k*r)%c; r=(r*r)%c; b>>=1; } return k;}int m... 阅读全文
posted @ 2013-08-20 17:14 王莜轩 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 汉诺塔(一)时间限制:1000 ms | 内存限制:65535 KB难度:3描述在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。现在请你计算出起始有m个金片的汉诺塔金片全部移动到另外一个针上时需要移动的最少步 阅读全文
posted @ 2013-08-20 11:29 王莜轩 阅读(362) 评论(4) 推荐(0) 编辑
摘要: 超级台阶时间限制:1000 ms | 内存限制:65535 KB难度:3描述有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?注:规定从一级到一级有0种走法。输入输入数据首先包含一个整数n(1int fun(int d,int a,int b){ int c; c=a+b; a=b; b=c; d-=1; if(d==0) return c; else if(d>0) c=fun(d,a,b); }int main(){ int a,b,n; scanf("%d",&n); while(n--) {... 阅读全文
posted @ 2013-08-20 10:34 王莜轩 阅读(386) 评论(0) 推荐(0) 编辑