问题 A: 笨鸟先飞
多多是一只小菜鸟,都说笨鸟先飞,多多也想来个菜鸟先飞。于是它从0点出发,一开始的飞行速度为1m/s,每过一个单位时间多多的飞行速度比上一个单位时间的飞行速度快2m/s,问n(0<n<10^5)个单位时间之后多多飞了多远?
输入要求
先输入一个整数T表示有几组数据。每组数据输入一个n,表示多多飞行的时间。
输出要求
输出多多飞行了多远,因为数字很大,所以对10000取模。
假如输入
2
1
2
应当输出
1
4
#include<stdio.h> int main(void) { int t,i,n,a; int item,sum; scanf("%d",&t); for(i=1;i<=t;i++){ scanf("%d ",&n); item=1; sum=0; for(a=1;a<=n;a++){ sum=sum+item; item=item+2; sum%=10000; item%=10000; } printf("%d ",sum); } return 0; }
问题 B: Two Bags of Bread
Lialosiu喜欢吃男饭面包店的面包,曾经创下一天吃15袋面包的记录。校庆那天,Lialosiu又去买了两袋面包,第一袋有x(x>=1)个面包,第二袋有y(y>=1)个面包。他是一个很粗心的人,以至于他把第一袋面包弄丢了。
幸好他记得两袋面包的总个数是不会超过n的,并且他也记得两袋面包的总个数可以被k整除。
现在告诉你第二袋面包的个数y,以及k和n,你能求出第一袋面包个数的所有可能的情况吗?
输入要求
第一行包含了三个整数,y,k和n。 (1 <=y, k, n <= 10 ^9 ,(n/k)<=10^5)
输出要求
输出一行整数,包含了所有x可能的情况。
如果x不存在,请输出一个数 -1 。
假如输入
10 1 10 10 6 40
应当输出
-1 2 8 14 20 26
问题 C: 汽水瓶
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
输入
输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100),表示小张手上的空汽水瓶数。n=0表示输入结束,你的程序不应当处理这一行。
输出
对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出0。
输入要求
输出要求
假如输入
3 10 81 0
应当输出
1 5 40
问题 D: 计算矩阵各行的和
输入2个正整数m和n(1≤m≤6,1≤n≤6),然后输入矩阵a(m行n列)中元素,分别计算并输出各行元素之和。
输入要求
有多组测试数据,第一行输入k,k为测试的矩阵组数,第二行输入m和n,分别表示矩阵的行数和列数,然后输入mxn的矩阵元素。
输出要求
每行输出矩阵各行的元素之和,每个数据之间以空格隔开。
假如输入
1
3 3
1 2 3
4 5 6
7 8 9
应当输出
6 15 24
#include<stdio.h> int main(void) { int k,m,n,i,b,j,sum; int a[6][6]; scanf("%d",&k); for(b=1;b<=k;b++){ scanf("%d %d",&m,&n); for(i=0;i<m;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); for(i=0;i<m;i++){ sum=0; for(j=0;j<n;j++) sum=sum+a[i][j]; printf("%d ",sum); } } return 0; }