
ACM入门
文章平均质量分 51
shao_nianjump
萌新社畜
展开
-
Square Number(完全平方数)
Square Number(完全平方数) 输出所有形如aabb的四位完全平方数(即前两位数字相等,后两位数字也相等)。注意事项: 本题算法思想:代码:#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;int main()原创 2017-08-16 09:24:48 · 4417 阅读 · 0 评论 -
近似计算(approximation)
计算π/4=1-1/3+1/5-1/7+…,直到最后一项小于10^(-6)。本题的题意是由题目给出的等式求出π的近似值。 注:1e-6是10^(-6);1e6是10^6。代码:for循环;也可以改成while循环:while((fabs(t))>1e-7) {…}#include<iostream>#include<stdio.h>#include<stdlib.h>#include<ma原创 2017-08-19 10:24:40 · 1527 阅读 · 0 评论 -
子序列的和(subsequence)
输入两个正整数n< m<10^6,输出1/n^2 + 1/(n+1)^2 + …… + 1/m^2,保留5位小数。例如n=2,m=4时答案是0.42361;n=65536,m=655360时答案为0.00001。注意:本题有陷阱。本题陷阱在于n比较大时,n*n会溢出,所以 1/n^2 应该用 1/n/n 而不是 1/(n*n)。代码:#include<iostream>#include<stdio原创 2017-08-19 15:59:04 · 565 阅读 · 0 评论 -
分数化小数(decimal)
输入正整数a, b, c,输出a/b的小数形式,精确到小数点后c位。a, b <= 10^6,c <= 100。例如a=1, b=6, c=4时应输出0.1667。本题注意格式化输出(printf)的特殊用法。 如printf(“%*.*lf\n”, 8, 4, (double)10/3); 会输出8个字宽保留4位小数的浮点数运算结果。 详见: http://blog.youkuaiyun.com/xie原创 2017-08-19 16:38:02 · 503 阅读 · 0 评论 -
排列(permutition)
用1,2,3……9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi = 1:2:3。输出所有解。提示:不必太动脑筋。本题无法直接简单粗暴地用if(1<=a<=9&&1<=b<=9&&……){……}解决。 这里,如果if语句写成if(1<=a,b,c,d,e,f,g,h,i<=9) 更是错的,这句话并不能表达a~i都在1~9的范围内;因为逗号的运算符最低级,算数原创 2017-08-19 16:46:12 · 300 阅读 · 0 评论 -
C语言/ACM 零碎知识点及注意事项
1.不要在程序中加任意一个多余的getchar(),因为算法竞赛(如ACM)检测结果是自动、非常严谨的,输出多一个字符或少一个字符都不行。 2.在算法竞赛中,每行输出均应以回车符结束,包括最后一行。原创 2017-08-14 22:39:53 · 625 阅读 · 0 评论 -
蟠桃记
蟠桃记 喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题! 什么问题?他研究的问题是蟠桃一共有多少个! 不过,到最后,他还是没能解决这个难题,呵呵^-^ 当时的情况是这样的: 第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个原创 2017-08-12 21:42:42 · 477 阅读 · 0 评论 -
青年歌手大奖赛_评委会打分
青年歌手大奖赛_评委会打分 青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。Input 输入数据有多组,每组占一行,每行的第一个数是n(2< n<=100),表示评委的人数,然后是n个评委的打分。Output 对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。Sample Input 3 99 98原创 2017-08-12 22:01:19 · 365 阅读 · 0 评论 -
偶数求和
偶数求和 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。Input 输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。 Output 对于每组输入数据,输出一个平均值序列,每组输出占一行。 Sample Input 3 2 4 2Samp原创 2017-08-13 11:58:20 · 653 阅读 · 0 评论 -
开灯问题
有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 的倍数的开关(这些灯将被关掉),第3 个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依此类推。一共有k个人,问最后有哪些灯开着?输入:n和k,输出开着的灯编号。k≤n≤1000。Input 输入n和k。k≤n≤1000。Output 输出开着的灯编号。Sample Input 7 3Sa原创 2017-08-20 11:51:03 · 267 阅读 · 0 评论 -
蛇形填数
在n*n方阵里填入1,2,…n*n,要求填成蛇形。例如n=4时方阵为 10 11 12 1 9 16 13 2 8 15 14 37 6 5 4 上面的方阵中,多余的空格只是为了便于观察规律,不必严格输出。n≤8。本题算法思想: 代码:#include<iostream>#include<stdio.h>#include<std原创 2017-08-20 16:15:22 · 362 阅读 · 0 评论 -
数据的交换输出
数据的交换输出 输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。Input 输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。Output 对于每组输入数据,输出交换后的数列,每组输出占一行。Sample Input 4 2 1 3 4 5 5 4 3 2 1 0Sample原创 2017-08-13 12:00:15 · 392 阅读 · 0 评论 -
竖式问题
找出所有形如abc*de(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但你的程序应该输出空格,而非小数点)。样例输入:2357样例输出:这题一开始看了几遍都没看懂,网上找了别人的解释才看懂: 输原创 2017-08-20 16:47:26 · 1934 阅读 · 0 评论 -
最长回文子串
输入一个字符串,求出其中最长的回文子串。子串的含义是:在原串中连续出现的字符串片段。回文的含义是:正看着和倒看着相同,如abba和yyxyy。在判断时,应该忽略所有标点符号和空格且忽略大小写,但输出应保持原样(在回文串的首部和尾部不要输出多余字符)。输入字符长度不超过5000且占据单独的一行。应该输出最长回文串,如果有多个,输出起始位置最靠左的。 样例输入:Confuciuss say:Madam,原创 2017-08-21 09:59:18 · 347 阅读 · 0 评论 -
字符串和数组 零碎知识点及注意事项
一、字符串 1.由于字符串的本质是数组(字符数组),只能用strcpy(a,b),strcmp(a,b),strcat(a,b)来执行赋值、比较和连接的操作,而不能用=、==、<=、+等运算符。上述函数都在string.h中声明。2.string/char a[n]字符串可看作字符数组,char(字符型)即字符是一种特殊的整数。 3.C语言中的字符串是以’\0’结尾的字符数组,如char s[2原创 2017-08-17 14:23:33 · 520 阅读 · 0 评论 -
计算球体积
计算球体积 根据输入的半径值,计算球的体积。Input 输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。 Output 输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。Sample Input 1 1.5Sample Output 4.189 14.137Hint define PI 3.1415927代码:#include<iostream>#原创 2017-08-10 15:28:21 · 1489 阅读 · 0 评论 -
水仙花数
水仙花数 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在m和n范围内的水仙花数。Input 输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。Output 对于每个测试实例,要求输出所有在给定范围内的水原创 2017-08-11 17:01:10 · 861 阅读 · 0 评论 -
调和级数(harmony)
输入正整数n,输出H(n)=1+1/2+1/3+…+1/n的值,保留3位小数。Input 输入正整数nOutput 输出H(n)=1+1/2+1/3+…+1/n的值,保留3位小数。Sample Input 3Sample Output 1.833代码: //本题除了正整数n和main函数是int型的,其他全部都是double型!!!#include<iostream>#includ原创 2017-08-19 09:59:29 · 1269 阅读 · 0 评论 -
素数判定
素数判定 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x#include<iostream>#include<stdio.h>#include<cstring> #include<math.h>#include<algorithm>using namespace std;int main(){ int x,y,k,flag; //已原创 2017-08-11 20:36:37 · 996 阅读 · 0 评论 -
阶乘之和
阶乘之和 输入n,计算S=1!+2!+3!+…+n!的末6位(不含前导0,前导0表示按需求必须为x位数,不足部分前面补0 )。n<=10^6。这里,n!表示前n个正整数之积。Input n(n<=10^6)Output S=1!+2!+3!+…+n!的末6位Sample Input 10Sample Output 37913注意事项: 1.在循环体开始处定义的变量,每次执行循环体原创 2017-08-16 15:29:01 · 310 阅读 · 0 评论 -
ACM 入门 基本输入输出
ACM 入门 基本输入输出ACM的基本格式可是很重要的呢,掌握了基本的输入输出才能继续深入研究学习!代码块#include<iostream>using namespace std;int main(){ int a,b; while(scanf("%d%d",&a,&b)!=EOF) //EOF是输入文件结束的标志,也可看作-1 { printf("%原创 2017-08-09 20:00:51 · 541 阅读 · 0 评论 -
ASCII码排序
ASCII码排序 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格。 Output 对于每组输入数据,输出一行,字符中间用一个空格分开。Sample Input qwe asd zxcSample Output e q w a d s c x z注意事项:字符和字符串的输入 string a原创 2017-08-09 23:04:36 · 1613 阅读 · 0 评论 -
浮点数陷阱
浮点数是个极其容易犯错误的点!如下面这个代码:#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;int main(){ double i; //scanf("%d",&n); for(i=0;i!=1原创 2017-08-17 15:02:01 · 247 阅读 · 0 评论 -
计算两点间的距离
计算两点间的距离 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。Input 输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。 Output 对于每组输入数据,输出一行,结果保留两位小数。Sample Input 0 0 0 1 0 1 1 0Sample Output 1.00 1.41注意事项: scanf中,原创 2017-08-10 15:10:33 · 1112 阅读 · 0 评论 -
求绝对值
求绝对值 求实数的绝对值。Input 输入数据有多组,每组占一行,每行包含一个实数。 Output 对于每组输入数据,输出它的绝对值,要求每组数据输出一行,结果保留两位小数。Sample Input 123 -234.00Sample Output 123.00 234.00注意事项:头文件math.h自带的取绝对值的函数 int型为 int res= abs(int x); l原创 2017-08-10 16:09:37 · 552 阅读 · 0 评论 -
成绩转换
成绩转换 输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下: 90~100为A; 80~89为B; 70~79为C; 60~69为D; 0~59为E; Input 输入数据有多组,每组占一行,由一个整数组成。 Output 对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。Sample Input原创 2017-08-10 19:46:37 · 469 阅读 · 0 评论 -
第几天?
第几天? 给定一个日期,输出这个日期是该年的第几天。Input 输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。 Output 对于每组输入数据,输出一行,表示该日期是该年的第几天。Sample Input 1985/1/20 2006/3/12Sample Output 20 71本题算法原创 2017-08-10 20:17:19 · 213 阅读 · 0 评论 -
求奇数的乘积
求奇数的乘积 给你n个整数,求他们中所有奇数的乘积。Input 输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。 Output 输出每组数中的所有奇数的乘积,对于测试实例,输出一行。Sample Input 3 1 2 3 4 2 3 4 5Sample Output 3 15代码:#i原创 2017-08-10 21:42:55 · 382 阅读 · 0 评论 -
平方和与立方和
平方和与立方和 给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。Input 输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。Output 对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。 你可以认为32位整数足以保存结果。Sample Input 1 3 2 5Sample Out原创 2017-08-10 21:50:23 · 260 阅读 · 0 评论 -
位数(digit)
输入一个不超过10^9的正整数,输出它的位数。Input 输入一个不超过10^9的正整数Output 输出正整数的位数Sample Input 12735Sample Output 5代码1: for循环#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<algorithm原创 2017-08-18 10:32:37 · 532 阅读 · 0 评论 -
数值统计
数值统计 统计给定的n个数中,负数、零和正数的个数。Input 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数;如果n=0,则表示输入结束,该行不做处理。Output 对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。Sample Input 6 0 1 2 3 -1 0 5 1 2 3 4 0.5原创 2017-08-11 10:04:26 · 2548 阅读 · 0 评论 -
求数列的和
求数列的和 数列的定义如下: 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。Input 输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。Output 对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。Sample Input 81 4 2 2Sample Output 94.73原创 2017-08-11 10:31:25 · 268 阅读 · 0 评论 -
韩信点兵(hanxin)
相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入包含多组数据,每组数据包含3个非负整数a,b,c,表示每种队形排尾的人数(a原创 2017-08-18 11:00:21 · 772 阅读 · 0 评论 -
倒三角形(triangle)
输入正整数n小于等于20,输出一个n层的倒三角形,例如n=5时输出如下: 代码:#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;int main(){ int n; while(scanf("%d",&n原创 2017-08-18 15:45:34 · 846 阅读 · 0 评论 -
多项式求和
多项式求和 多项式的描述如下: 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + … 现在请你求出该多项式的前n项的和。Input 输入数据由2行组成,首先是一个正整数m(m<100),表示测试实例的个数,第二行包含m个正整数,对于每一个整数(不妨设为n,n<1000),求该多项式的前n项的和。Output 对于每个测试实例n,要求输出多项式前n项的和。每个测试实例的原创 2017-08-11 17:50:34 · 2284 阅读 · 0 评论 -
2017 ACM-ICPC 沈阳赛(网络赛)
菜鸟的我只做出来了第二题…233加油啊朋友 网站链接:http://acm.hdu.edu.cn/contests/contest_show.php?cid=7801002 cable cable cable 本题思路:1个signal source至少连接着2个screen;注意long long的问题。AC代码:#include<iostream>#include<stdio.h>#原创 2017-09-11 00:09:49 · 593 阅读 · 0 评论