欢迎访问XYNUOJ
问题 A: A
时间限制: 1 Sec 内存限制: 128 MB提交: 51 解决: 18
[提交][状态][讨论版][Edit] [TestData]
题目描述
在魔法世界,人们的身份证号是一个12位长的数字串。如果足够优秀,人们还可以申请加入魔法工会。如果加入成功,将拥有一个工号。假设所有的工号都是是 6+身份证号的后5位,比如身份证号码为410888845678的魔法师,对应的短号就是645678。
现在,如果给你一个12位长的身份证号码,你能找出对应的工号吗?
输入
输入数据的第一行是一个N(N <= 200),表示有N个数据,接下来的N行每一行为一个12位的身份证号码。
输出
输出应包括N行,每行包括一个对应的工号,输出应与输入的顺序一致。
样例输入
2
410888345678
410999454321
样例输出
645678
654321
#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
while(N--)
{
long long int a;
scanf("%lld",&a);
printf("%lld\n",a%100000+6*100000);
}
return 0;
}
#include<stdio.h>
int main()
{
int i,n;
char a[12];
scanf("%d",&n);
while(n--)
{
scanf("%s",&a);
printf("6");
for(i=7;i<12;i++)
{
printf("%c",a[i]);
}
printf("\n");
}
return 0;
}
问题 B: H
时间限制: 1 Sec 内存限制: 4 MB提交: 260 解决: 41
[ 提交][ 状态][ 讨论版][ Edit] [ TestData]
题目描述
calculate sum(n) = 1 + 2 + 3 + ... + n。输入
The input will consist of a series of integers n, one integer per line.输出
For each case, output SUM(n) in one line, followed by a blank line. You may assume the result will be in the range of 32-bit signed integer.样例输入
1
10
样例输出
1
55
//计算sum(N) = 1 + 2 + 3 + ... + N
//输入多组数据 每组计算后有空行
#include<stdio.h>
int main()
{
int a;
while(scanf("%d",&a)!=EOF)
{
int sum = 0;
for(int i = 1; i <= a; i++)
{
sum = sum + i;;
}
printf("%d\n\n",sum);
}
return 0;
}
问题 C: B
时间限制: 1 Sec 内存限制: 128 MB提交: 99 解决: 36
[ 提交][ 状态][ 讨论版][ Edit] [ TestData]
题目描述
胡八一今年3岁了, 现在他已经能够认识100以内的非负整数, 并且能够进行100以内的非负整数的加法计算.
对于大于等于100的整数, 胡八一仅保留该数的最后两位进行计算, 如果计算结果大于等于100, 那么胡八一也仅保留计算结果的最后两位.
例如, 对于胡八一来说:
1) 1234和34是相等的
2) 35+80=15
给定非负整数A和B, 你的任务是代表胡八一计算出A+B的值.
输入
输入数据的第一行为一个正整数T, 表示测试数据的组数. 然后是T组测试数据. 每组测试数据包含两个非负整数A和B(A和B均在int型可表示的范围内).
输出
对于每组测试数据, 输出胡八一A+B的结果
样例输入
3
35 80
25 80
15 1152
样例输出
15
5
67
#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
while(N--)
{
int a, b, sum;
scanf("%d%d",&a,&b);
sum = a + b;
sum = sum % 100;
printf("%d\n",sum);
}
return 0;
}
问题 D: D
时间限制: 1 Sec 内存限制: 128 MB提交: 101 解决: 6
[ 提交][ 状态][ 讨论版][ Edit] [ TestData]
题目描述
In class, kangkang learned to use the computer to solve N factorial, and then came home to show off to Jane. In order not to let kangkang be too complacent, Jane gave kangkang a question "since you're going to ask for N factorial, you'll help me figure out 1! + 2! -3! + 4! -5! +... N!" It is. Can you help him?
输入
The first line enters an integer T (0 < = 20), which represents T group test data.
After that, it has T rows, and each row enters a positive integer N (0 < N < = 20).
输出
Each group of test data accounts for one line, output 1! + 2! - 3! +... .. N! The value of the.样例输入
2
2
4
样例输出
3
2
1
#include<stdio.h>
int main()
{
int n;
scanf("%d", &n);
while (n--)
{
int m, i;
long long sum = 1;
scanf("%d", &m);
for (i = 2; i <= m; i++)
{
long long term = 1;
for (int j = 2; j < i + 1; j++)
term *= j;
if (i % 2 == 0)
sum += term;
else
sum -= term;
}
printf("%lld\n",sum);
}
return 0;
}
问题 E: E
时间限制: 1 Sec 内存限制: 128 MB提交: 52 解决: 18
[提交][状态][讨论版][Edit] [TestData]
题目描述
辉子最近接到了一个棘手的任务,他们公司有一个电话簿.但是这是一个奇怪的电话簿,因为它不是用数字记录电话号码,而是用数字键上所对应的字母来记录电话号码(2-abc,3-def,4-ghi,5-jkl,6-mno,7-pqrs,8-tuv,9-wxyz),电话号码只有11位。现在你的任务就是帮辉子写一个程序来把这些字母的电话号码转化成数字的电话号码。
输入
第一行输入一个正整数T(0<T<=100),表示测试数据的组数
每组测试数据只有一行,输入一串字符(字符长度为11);
输出
每组输出占一行,输出数字的电话号码。
样例输入
3
phqghumeayl
nlfdxfircvs
cxggbwkfnqd
样例输出
74744863295
65339347287
29442953673
#include<stdio.h>
#include<string.h>
int main()
{
char a[11];
int N, i;
scanf("%d",&N);
while(N--)
{
scanf("%s",a);
for( i = 0; i < 11; i++){
if(a[i]=='a' || a[i]=='b' || a[i]=='c')
{
a[i] = '2';
}
if(a[i]=='d' || a[i]=='e' || a[i]=='f')
{
a[i] = '3';
}
if(a[i]=='g' || a[i]=='h' || a[i]=='i')
{
a[i] = '4';
}
if(a[i]=='j' || a[i]=='k' || a[i]=='l')
{
a[i] = '5';
}
if(a[i]=='m' || a[i]=='n' || a[i]=='o')
{
a[i] = '6';
}
if(a[i]=='p' || a[i]=='q' || a[i]=='r' || a[i]=='s')
{
a[i] = '7';
}
if(a[i]=='t' || a[i]=='u' || a[i]=='v')
{
a[i] = '8';
}
if(a[i]=='w' || a[i]=='x' || a[i]=='y' || a[i]=='z')
{
a[i] = '9';
}
}
for(i = 0; i <= 10; i++)
{
printf("%c",a[i]);
}
printf("\n");
}
return 0;
}
问题 F: F
时间限制: 1 Sec 内存限制: 128 MB提交: 42 解决: 9
[提交][状态][讨论版][Edit] [TestData]
题目描述
一般人们把对几乎所有抗生素有抗药性的细菌统称为超级细菌。有一个超级细菌,它每秒增殖出一个小细菌。每个小细菌经过生长,从第四秒开始,每秒也生一个小细菌。请编程实现在第n秒的时候,共有多少个细菌?假设超级细菌不会死亡或者消失。
输入
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<30),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。
输出
对于每个测试实例,输出在第n秒的时候细菌的数量。
每个输出占一行。
样例输入
2
4
5
0
样例输出
2
4
6
#include<stdio.h>
int cow(int n)
{
if(n < 4)
{
return n;
}else{
return cow(n-1)+cow(n-3);
}
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF && n!=0)
{
printf("%d\n",cow(n));
}
}
问题 G: G
时间限制: 1 Sec 内存限制: 128 MB提交: 11 解决: 1
[提交][状态][讨论版][Edit] [TestData]
题目描述
在ACM算法研究所中,科学家为了更快更好的处理实验数据,决定将一整串的数字按照一定的规则分隔开来,分隔规则如下:
1、实数的整数部分按照每三个数字用逗号分隔开(整数部分的高位有多余的0时,需先将多余的0过滤后,再进行数字分隔,如:0001234567 输出结果为1,234,567.00)
2、小数部分保留两位小数(四舍五入)
3、如果该数是负的,则在输出时需用括号将分隔后的数字括起来,例如:-10005.1645的输出结果为(10,005.16)
输入
多组测试数据(以eof结尾),每行输入一个实数n(n的位数小于100)
输出
输出分隔后的结果
样例输入
0001234567
0.0000
-10005.1645
样例输出
1,234,567.00
0.00
(10,005.16)
问题 H: I
时间限制: 1 Sec 内存限制: 128 MB提交: 74 解决: 47
[提交][状态][讨论版][Edit] [TestData]
题目描述
Calculate the volume of the ball according to the radius of the input.输入
The input data has a number of groups, each of which consists of a row, which includes a real number representing the radius of the sphere.输出
The output corresponds to the volume of the ball. For each group of input data, the output row, the calculation results retain the three decimal places.样例输入
1
1.5
2.55
样例输出
4.189
14.137
69.456
提示
#define PI 3.1415927
V=4/3*PI*r*r*r.
//计算球体积
#include<stdio.h>
#define PI 3.1415927
int main()
{
double r;
while(scanf("%lf",&r)!=EOF)
{
printf("%.3lf\n",4.0/3.0*PI*r*r*r);
}
return 0;
}