`
Dev|il
  • 浏览: 122151 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表
输入一个不超过1000的正整数n,输出n! 简单输入: 30 简单输出: 265252859812191058636308480000000 #include <stdio.h> #include <string.h> #define MAXN 3000 int f[MAXN]; //算法分析:由于数据不超过1000,则最大为1000,而1000的阶乘那是很大的,已经超过了现有的数据类型的长度, //1000! 大约等于4 * 10^2567,则我们用一个整型数组来保存阶乘的结果,因此我们可以用一个3000的数组来保存结果 //f[0]保 ...
描述: 很多学生学习加法的时,发现“进位”特别容易出错,你的任务是计算两个数,在相加时需要多少次进位.你编写的程序应当可以连续的处理多组数据,直到读到两个连续的0(这是输入结束标记), 假设输入的整数不超过9个数字 简单输入: 123 456 555 555 123 594 0 0 简单输出: 0 3 1 #include <stdio.h> //算法说明:用一个变量记下进位数,通过 a % 10来取得最后一位数 int main() { int a, b; while(scanf("%d%d", &a, &b) ...
在oj上面做题目的时候常常遇到输入多组数据,以0 0..0结束,我们感到很困扰,感觉很难判断,感觉代码凌乱,为此,特此小记 例如:输入n行数据,每行占两列,最后一 0 0结束 简单输入: 1 2 4 5 3 6 0 0 #include <stdio.h> int main() { int a, b; while(scanf("%d %d", &a, &b) == 2) { if(!a && !b) return 0; } return 0; }

周期串

描述: 如果一个字符串可以由某个长度为k的字符串重复多次得到,我们就说改串是以k为周期的周期串,例如:abcabcabcabc是以3为周期(注意:它也是以6和12为周期),输入一个长度不超过80的字符串,输出它的最小周期 简单输入:hohoho 简单输出:2 #include <stdio.h> #include <string.h> #define MAXN 80 + 10 char word[MAXN]; //算法描述:i控制周期,j % i始终在第一个周期内,j在i到len变化,验证了n个i周期 int main() { in ...
Description 输入二个正整数x0,y0(2≤x0≤100000,2≤y0≤1000000),求出满足下列条件的P、Q的个数。 条件:1.P、Q是正整数 二要求P、Q以x0为最大公约数,以y0为最小公倍数。 试求,满足条件的所有可能的两个正整数的个数。 [样例] 输入 ...
//计算因子,思路来自http://www.cppblog.com/Climber-pI/archive/2010/09/11/126425.html #include <stdio.h> int main() { int n, i = 2; scanf("%d", &n); while(n != 1) { while(n % i != 0) i++; while(n % i == 0) { n /= i; printf("%d\n", i); } } ...

装箱问题

Description 有一个箱子容量为v(正整数,o≤v≤20000),同时有n个物品(o≤n≤30),每个物品有一个体积 (正整数)。要求从m个物品中,任取若千个装入箱内,使箱子的剩余空间为最小。 [样例] 输入: 24 一个整数,表示箱子容量 6 一个整数,表示有n个物品 8 接下来n行,分别表示这n个物品的各自体积。 3 12 7 9 7 输出: 0 一个整数,表示箱子剩余空间。 Input 第一行为箱子容量为v;第二行为物品数;以下n行分别为每个物品的体积; Output 箱子剩余空间 Sample Input 24 6 8 3 12 7 9 7 Sample Out ...
给定n种物品和1个背包,物品i的重量是wi,其价值为vi,背包的容量为C。要求选择装入背包的物品,使得装入背包中物品的总价值最大。 Input 每组测试数据包含3行,第1行为n和c,表示有n(0<=n<=400)个物品且背包容量为c (c<=1500),第二行为这n个物品的重量wi(1<=wi<=1000),第三行为这n个物品的价值vi。背包容量和物品重量都为整数。 Output 输出装入背包的最大总价值,每个答案一行。 Sample Input 5 10 2 2 6 5 4 6 3 5 4 6 Sample Output 15 代码: #includ ...
Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1  2  3  4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2 ...
#include <stdio.h> #include <stdlib.h> typedef struct{ int x; int y; int h; }dot; int cmp(const void *a, const void *b) { return (*(dot *)a).h - (*(dot *)b).h; } int main() { dot line[9]; line[0].h = 30; line[1].h = 2; line[2].h = -10; line[3].h = 11; line[4] ...
Description 津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。 Input 输入文件unhappy.in包括七行数据,分别表示周一到周日的日程安排。每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间 Output 输出文件u ...
在测试程序运行时间的过程中要用到<time.h>的CLOCK()函数,由于次函数要把由用户输入数据的时间记录在内,所以我们可以用管道密令 echo让程序进行输入 命令个数为 echo 要输入的数据|运行的程序 给个例子: #include <stdio.h> #include <time.h> #define MOD 100000 int main() { int n, i, factorial = 1, s = 0, j; scanf("%d", &n); for(i = 1; i < n; i++) ...
利用文件输入和输出的好处:不必每次测试都要手工输入,避免输出太多而无法看清 准备:现在debug下面建立两个文件:input.txt(保存输入数据的文件) output.txt(输入数据的文件) 1.输入输出重定向 例子: #include <stdio.h> #include <time.h> #define MOD 100000 #define LOCAL int main() { #ifdef LOCAL //文件输入输出重定向,解决多次输入问题 freopen("input.txt", "r", st ...
#include <stdio.h> int main() { int a[] = {1, 2, 7, 9, 11}; int b[] = {3, 4, 5, 6, 8, 9, 10, 11}; int c[20]; int i= 0, j = 0, k = 0; while(i < 5 && j < 8) { if(a[i] < b[j]) c[k++] = a[i++]; else c[k++] = b[j++]; } while(i < 5) { c[k++ ...
Description 我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理 l•不作任何处理: z•茬它的左边加上一个自然数,但该自然数不能超过原数的一半; 3•加上数后,继续按此规则进行处理,直到不能再而 自然数为止。 输入:6 满足条件的数为 6 (此部分不必输出) 16 26 126 36 136 输出:6 Input 一个自然数n(n≤1000) Output 满足条件的数的个数 Sample Input 6 Sample Output 6 #include <stdio.h> ...
Global site tag (gtag.js) - Google Analytics