上一页 1 ··· 6 7 8 9 10 11 下一页
  2011年11月19日
摘要: N!的数位(2009-12-28 20:46:28)转载标签:杂谈分类:HSY_ACM大数Time Limit:20000MSMemory Limit:65536KTotal Submit:35 Accepted:8Description在很多应用中我们都要用到大数字,例如,在密码学中,往往需要对大数据进行安全加密。此时,需要得到一个数字的阶乘结果的总位数。Input输入包含多行,每行一个整数,第一行整数n代表总的测试情况,接下来的n行每行一个整数1 <= k <= 10^7对应一个测试情况。Output输出多行,每行为每种测试情况下对应整数的阶乘总位数。Sample Input2 阅读全文
posted @ 2011-11-19 22:04 BFP 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 大数阶乘算法前几天朋友问我一个问题:“10000的阶乘怎么算?”当时我就有点懵,“10000”这个数字太大了,无论用什么数据类型保存结果都会溢出。这可怎么办呢?一时间束手无策。然后被一顿鄙视。后来经朋友的提醒,才恍然大悟,终于知道怎么实现了,原来是使用数组来模拟数字,这样无论结果数字有多大,只要数组的长度够长就能表示出来,用这个办法可以进行大数据的运算。看起来还是挺有用的。我把它用程序实现出来,如果有用到的地方还可以借鉴一下。(最起码还可以拿来鄙视别人^_^)首先定义一个足够长的数组。拿10000的阶乘为例,最后的结果长度是35660位,所以我们定义一个40000个成员的数组就可以了。int 阅读全文
posted @ 2011-11-19 22:04 BFP 阅读(12774) 评论(6) 推荐(6) 编辑
摘要: 函数名:kbhit()(VC++6.0下为_kbhit()) 功 能及返回值: 检查当前是否有键盘输入,若有则返回一个非0值,否则返回0 用 法:int kbhit(void); 包含头文件: include <conio.h>编辑本段程序示例C语言 #include<conio.h> int main(void) { cprintf("Press any key to continue:"); while (!kbhit()) /* do nothing */ ; cprintf("\r\nA key was pressed...\r\n 阅读全文
posted @ 2011-11-19 22:04 BFP 阅读(1966) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>#include<string.h>#include<stdlib.h>const int maxn = 3000;int f[maxn];int main(){//freopen("output.txt","w",stdout);int i, j, n;scanf("%d",&n);memset(f, 0, sizeof(f));f[0] = 1;for(i = 2; i <= n; i ++){//乘以iint c = 0;//进位量for(j = 阅读全文
posted @ 2011-11-19 22:03 BFP 阅读(388) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>int main(){int c, q = 1;while((c = getchar()) != EOF){if(c == '"') {printf("%s",q ? "``":"''");q = !q;}//这里的 `` 和 '' 分别代表 “ 和 ”else printf("%c",c);}return 0;} 阅读全文
posted @ 2011-11-19 22:03 BFP 阅读(421) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>char *s="`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";int main(){int i, c;while ((c = getchar()) != EOF)//注意括号{for (i = 1; s[i] && s[i] != c; i ++)/*用s[i]当进行到字符串末尾时返回'\0'其ASCII码对应值为0.*/printf("%d ",s[i]);printf("\n");if (s 阅读全文
posted @ 2011-11-19 22:03 BFP 阅读(290) 评论(0) 推荐(0) 编辑
摘要: oj一题 //http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1010#include<stdio.h>#include<string.h>#define MAXD 100010int N, ishead[MAXD], right[MAXD];void init() //输入函数{ int i, j, k, x, y; memset(ishead, 0, sizeof(ishead));//每条链表的头 memset(right, -1, sizeof(right)); for(i = 0; i < N; i ++ 阅读全文
posted @ 2011-11-19 22:02 BFP 阅读(199) 评论(0) 推荐(0) 编辑
  2011年10月9日
摘要: 函数:isalpha 原型:int isalpha(int ch) 用法:头文件加入#include <cctype>(旧版本的编译器使用<ctype.h>) 功能:判断字符ch是否为英文字母,当ch为英文字母a-z或A-Z时,在标准c中相当于使用“isupper(ch)||islower(ch)”做测试,返回非零值(不一定是1),否则返回零。 PS:{ isupper 原型:extern int isupper(int c); 头文件:<cctype>(旧版本的编译器使用<ctype.h>) 功能:判断字符c是否为大写英文字母 说明:当参数c为 阅读全文
posted @ 2011-10-09 12:02 BFP 阅读(3088) 评论(0) 推荐(0) 编辑
摘要: 竖式问题 阅读全文
posted @ 2011-10-09 11:47 BFP 阅读(692) 评论(0) 推荐(1) 编辑
摘要: 蛇形填数 阅读全文
posted @ 2011-10-09 11:47 BFP 阅读(568) 评论(0) 推荐(1) 编辑
上一页 1 ··· 6 7 8 9 10 11 下一页