本文共 8002 字,大约阅读时间需要 26 分钟。
输入一个整数,判断它是不是水仙花数,水仙花数是一个三位整数,其每位数字的立方和等于其本身,
例如,153是一个水仙花数,153=1×1×1+5×5×5+3×3×3
输入格式:
输入一个整数,代表判断的数字输出格式:
如果该数是水仙花数,则输出:yes如果该数不是水仙花数,则输出:no
如果该数不是一个三位数,输出:error
输入样例1:
153 输出样例1: yes 输入样例2: 258 输出样例2: no 输入样例3: 15 输出样例3: error#includeint main(){ int n; scanf("%d",&n); if(n>=100&&n<=999){ int a,b,c; a=n/100; b=n%100/10; c=n%10; if(a*a*a+b*b*b+c*c*c==n){ printf("yes\n"); } else{ printf("no\n"); } } else{ printf("error\n"); }}
Bear_2在青青草原上养了超级多的牛,这些牛分为两种,一种是脾气暴躁的牛,另一种则是脾气温顺的牛,有一天Bear_2想从自己养的牛中选出n只牛来排成一列,由于连续两只暴躁的牛相邻会发生不好的事,因此连续两只暴躁的牛不能相邻,假设Bear_2养的牛有无限多,他现在想问你一共可以构成多少种合法的序列,答案对1000000007取模。
输入格式:
输入一个正整数n(1<=n<=1000)。输出格式:
输出一个正整数。(数据范围很大,请用long long型变量)输入样例:
1 输出样例: 2 输入样例: 2 输出样例: 3#includeint main(){ int n,i; long long num1,num2,sum; num1=2; num2=3; scanf("%d",&n); if(n==1){ printf("2"); } if(n==2){ printf("3"); } for(i = 3; i<=n; i++){ sum=(num1+num2)%1000000007; num1=num2; num2=sum; } printf("%ld",sum);}
某超市促销规定:购物不超过50元按原价付款;超过50元不超过150元,超过部分按九折付款;超过150元的,超过部分按八折付款。编程序完成超市的计费打折。
输入格式:
输入一个实数即货物的原价。输出格式:
输出打折后的价格,保留两位小数。输入样例:
在这里给出一组输入。例如:105
输出样例: 在这里给出相应的输出。例如:99.50
输入样例2: 在这里给出一组输入。例如:210
输出样例2: 在这里给出相应的输出。例如:188.00
#includeint main(){ double n,m; scanf("%lf",&n); if(n>0&&n<=50){ printf("%.2lf\n",n); } else if(n>50&&n<=150){ printf("%.2lf\n",50+(n-50)*0.9); } else{ printf("%.2lf\n",50+100*0.9+(n-150)*0.8); }}
任务描述:
某超市内大白菜打折促销,单次购买5公斤以下每公斤1.8元;5公斤以上(包括5公斤,下同)每公斤1.6元;10公斤以上每公斤1.4元;20公斤以上每公斤1.0元。编程输入购买大白菜的公斤数,输出应付的钱数。输入格式:
一个浮点数,绝对值不超过10000。输出格式:
一个浮点数,表示应付的钱数,输出结果保留2位小数。输入样例:
12.6 输出样例: 17.64#includeint main(){ double n,m; scanf("%lf",&n); if(n>0&&n<5){ printf("%.2lf\n",n*1.8); } else if(n>=5&&n<10){ printf("%.2lf\n",n*1.6); } else if(n>=10&&n<20){ printf("%.2lf\n",n*1.4); } else{ printf("%.2lf\n",n*1.0); } }
任务描述
于龙在运动会上和4位同学进行跳绳比赛,需要一个排名程序,先输入每位同学的成绩(跳绳计数),再输出每位同学的成绩及排名(成绩从高到低排列)。 输入格式: 五个空格分隔的整数,代表5个人的成绩。 输出格式: 按行输出名次与成绩,之间用一个横线分隔,横线前后各一个空格,横线就是减号。 特别的,本题的输出要求相同成绩数据只输出1次。输入样例:
150 120 180 135 100 输出样例: 1 - 180 2 - 150 3 - 135 4 - 120 5 - 100输入样例:
180 120 120 180 120 输出样例: 1 - 180 3 - 120输入样例:
1 2 3 2 1 输出样例: 1 - 3 2 - 2 4 - 1#includeint main(){ int str[10]; for(int i=0;i<5;i++){ scanf("%d",&str[i]); } int t; for(int j=0;j<5;j++){ for(int i=0;i<5-j;i++){ if(str[i]
编程输入年、月、日三个整数(保证是合法日期),输出这一天是这一年的第几天。
输入样例:
2015 10 31 输出样例: 304输入样例:
2060 12 31 输出样例: 366#includeint main(){ int y,m,d; scanf("%d %d %d",&y,&m,&d); int a[12]={ 31,28,31,30,31,30,31,31,30,31,30,31}; if(y%400==0||y%4==0&&y%100!=0){ a[1]+=1; } int sum=0; for(int i=0;i
给定 N 个正整数,要求你从中得到下列三种计算结果:
A1 = 能被 3 整除的最大整数
A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数 A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)输入格式:
输入首先在第一行给出一个正整数 N,随后一行给出 N 个正整数。所有数字都不超过 100,同行数字以空格分隔。输出格式:
在一行中顺序输出 A1、A2、A3的值,其间以 1 个空格分隔。如果某个数字不存在,则对应输出NONE。输入样例 1:
8 5 8 7 6 9 1 3 10 输出样例 1: 9 3 6.5输入样例 2:
8 15 18 7 6 9 1 3 10 输出样例 2: 18 3 NONE# includeint main(){ int n,i,t,max=0,sum=0,a2=0,a3=0; scanf("%d",&n); int a[n]; for(i=0;i max) max=a[i]; if((a[i]-1)%3==0) a2++; if((a[i]-2)%3==0){ a3++; sum+=a[i]; } } if(max==0){ printf("NONE ");} else printf("%d ",max); if(a2==0){ printf("NONE ");} else printf("%d ",a2); if(sum==0){ printf("NONE");} else printf("%.1lf",sum*1.0/a3); return 0;}
输入一个形如A+B的四则运算式(加、减、乘、除),代表你向计算机出的题目。让计算机输出运算结果,请按样例格式输出。如果除数为0,输出非法操作信息:Illegal operation
输入样例:
56+23 输出样例: 56+23=79输入样例:
123 输出样例: 123=36输入样例:
12/0 输出样例: Illegal operation输入样例:
-5*-5 输出样例(简单输出就行负数不需特殊处理): -5*-5=25#includeint main(){ int a,b; char m; scanf("%d%c%d",&a,&m,&b); if(m=='+'){ printf("%d+%d=%d\n",a,b,a+b); } else if(m=='-'){ printf("%d-%d=%d\n",a,b,a-b); } else if(m=='*'){ printf("%d*%d=%d",a,b,a*b); } else{ if(b==0){ printf("Illegal operation\n"); } else{ printf("%d/%d=%d\n",a,b,a/b); } }}
功能:用函数求fibonacci数列前n项的和。 说明:fibonacci数列为数列的第一项值为1,第二项值也 为1,从第三项开始,每一项均为其前面相邻两项 的和。
注意:结果值控制在long类型范围内。
输入格式:
输入一个整数n,3<=n<=40。输出格式:
输出前n项斐波那契数列之和输入样例:
28 输出样例: 832039#includeint main(){ long int sum=0; int n,a[40]; scanf("%d",&n); a[0]=1,a[1]=1; for(int i=2;i
从A点到B点有n个格子,小明现在要从A点到B点,小明吃了些东西,补充了一下体力,他可以一步迈一个格子,也可以一步迈两个格子,也可以一步迈3个格子,也可以一步迈4个格子。请编写程序计算小明从A点到B点一共有多少种走法。
输入格式:
输入包含多组数据,第一行为一个整数m,m不超过10000,表示输入数据组数。接下来m行,每行为一个整数n(保证对应的输出结果小于2 31),表示从A点到B点的格子数。输出格式:
输出为m个整数,表示对于每组数据小明从A点到B点的走法数。输入样例:
2 5 3 输出样例: 15 4#includeint main(){ int n; scanf("%d",&n); int a[10000]; int b[100]; int i,j; for(i=0;i
Lc今天上课学会了数的全排列并且Lc觉得数的全排列很简单,但是直到Lc的同桌YooQ向他提出了一个问题,该问题的描述如下:我们知道n的全排列总共有n!个序列,例如2的全排列有两个序列{1,2}和{2,1},现在你要解决的问题是n的全排列的n!个序列中第m个序列是什么?(注意:n的全排列的n!个序列是按字典序由小到大排序的)
输入格式:
第一行为样例组数t(t≤1e5),接下来t行每行有一个整数n和m(1<=n<=20,1<=m<=n!)输出格式:
输出t行,每行输出n的全排列的n!个序列中第m个序列,两相邻的数间有一空格,行末不得有多余空格。输入样例:
在这里给出一组输入。例如:2
1 1 3 6 输出样例: 在这里给出相应的输出。例如:1
3 2 1一个 n∗n 的矩阵。
你需要把矩阵按顺时针旋转 90° ,一共旋转 m 次。
请输出旋转 m 次之后的 n∗n 的矩阵。
输入格式:
多组输入。对于每组输入,
输入一个整数 n 和一个正整数 m 。
当输入的 n=0 时表示输入结束。
接下来 n 行,每行 n 个正整数。
输出格式:
对于每组输入,请输出一共 n 行,
每行 n 个正整数,每个数字之间以一个空格隔开,行末不加空格。
表示旋转后的矩阵。
输入样例:
3 1 1 2 3 4 5 6 7 8 9 2 2 1 2 3 4 0 输出样例: 7 4 1 8 5 2 9 6 3 4 3 2 1 提示说明 对于矩阵里的每个数 num , 1<=num<=10000<=n<=100,1<=m<=1e9
问题描述
给你一段连续的整数,你能求出它们的和吗?输入格式:
一行中给出两个整数A和B(A<=B且绝对值不超过10000)。输出格式:
一个整数,即从A到B的所有连续整数的和(包括A和B)。输入样例:
1 10 输出样例: 55输入样例:
-10 10 输出样例: 0#includeint main(){ int a,b; scanf("%d %d",&a,&b); int sum=0; for(int i=a;i<=b;i++){ sum+=i; } printf("%d\n",sum);}
输入10个数,输出其中最大的数。
输入格式:
在一行中给出10个整数,空格分隔。输出格式:
输出最大的数输入样例:
在这里给出一组输入。例如:21 32 5 8 16 44 8 30 11 19
输出样例: 在这里给出相应的输出。例如:44
#includeint main(){ int a[10]; for(int i=0;i<10;i++){ scanf("%d",&a[i]); } int max=a[0]; for(int i=1;i<10;i++){ if(max
任务描述
老师给X同学留了一个任务:扑克游戏中的牌型判断。 输入格式: 输入的第一行,是一个整数N,表示有N组数据。 接下来的N行是N组数据,每一行数据有3张扑克牌, 例如:5S 6H 12C,其中数字表示点数(2-10分别代表2点到10点的牌,14代表A,11、12、13代表J、Q、K), 字母表示花色的第一个字符,黑桃(Spade)、红桃(Heart)、梅花(Club)、方块(Diamond)。 以上3张牌为黑桃5、红桃6、方块Q。 输出格式: 输出N行,每一行输出一个单词,表示一组数据三张牌的最大牌型,空格后再输出此牌型的(最大)点数。 所有牌型从大到小排列如下(豹子>同花顺>顺子>同花>对子>花牌): (1)豹子(Leopard):三张牌点数一样,如5S 5H 5C。 (2)同花顺(Flush straight):三张牌同花色且点数恰好相邻,如5S 6S 7S。 (3)顺子(Straight):三张牌点数恰好相邻,但不同花色,如10H 11D 12C。 (4)同花(Same kind):三张牌花色相同,点数不全相同,如8H 5H 11H。 (5)对子(Pair):花色不全相同,两张牌点数相同,如11H 5C 11D。 (6)花牌(General):花色不全相同,点数全不相同,如:5D 6C 8H。输入样例:
6 8H 8D 8C 5S 7S 6S 11C 12D 10S 1C 5C 6C 10C 8D 8H 5D 6H 12C输出样例:
Leopard 8 Flush straight 7 Straight Q Same kind 6 Pair 8 General Q本题要求输出给定整数M和N区间内的全部素数,每行输出10个。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。
输入格式:
输入在一行中给出两个正整数M和N(1≤M≤N≤500)。输出格式:
输出素数,每个数占6位,每行输出10个。如果最后一行输出的素数个数不到10个,也需要换行。若输入的范围不合法,则输出"Invalid."。
输入样例1:
2 100 输出样例1: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97输入样例2:
6 2 输出样例2: Invalid.#includeint main(){ int m,n; int num=0; int i,j; scanf("%d %d",&m,&n); if(m>=1&&m<=500&&n>=1&&n<=500&&m<=n){ for(i=m;i<=n;i++){ for(j=2;j<=i;j++){ if(i%j==0){ break; } } if(j==i){ printf("%6d",i); num++; if(num%10==0){ printf("\n"); } } } } else{ printf("Invalid.\n"); }}
编程输入正整数a(10000>=a>=2),输出不小于a的第一对孪生素数。差是2的两个素数被称为孪生素数。
输入样例:
10000 输出样例: 10007 10009输入样例:
3 输出样例: 3 5#includeint main(){ int a,i,j,k; int s; scanf("%d",&a); for(i=a;;i++){ for(j=2;j<=i;j++){ if(i%j==0){ break; } } if(j==i){ s=i+2; } for(k=2;k<=s;k++){ if(s%k==0){ break; } } if(s==k){ printf("%d %d\n",i,s); break; } } }
转载地址:http://tjnlf.baihongyu.com/