您的位置:首页 > 编程语言

acm 训练2017 03 06

2017-03-06 22:06 281 查看
训练一: 偶数求和

Description

有一个长度为n(n<=100)的数列

,该数列定义为从2开始的递增有序偶数,

现在要求你按照顺序每m个数求出一个平均值

,如果最后不足m个,则以实际数量求平均值

。编程输出该平均值序列。

Input

输入数据有多组,每组占一行,

包含两个正整数n和m,n和m的含义如上所述。

Output

对于每组输入数据,输出一个平均值序列,

每组输出占一行。

Sample Input

3 2

4 2

Sample Output

3 6

3 7

代码一:

#include<stdio.h>
#include<stdlib.h>
int main()
{
int n, m;
while (scanf("%d%d", &n, &m) != EOF)
{
int t = n / m;
int number = n%m == 0 ? n / m : n / m + 1;
long long *ptos = calloc(number, sizeof(long long int));
int i, j = 2, k = 1, cnt = 0;
while (t--)
{
for (i = 0; i < m; i++, k++)
*(ptos + cnt) += j*k;
*(ptos + cnt) /= m;
cnt++;
}
n %= m;
for (i = 0; i<n; i++, k++)
*(ptos + cnt) += j*k;
if (n != 0) *(ptos + cnt) /= n; //n不能为0
for (i = 0; i < number; i++)
{
if (i == number - 1) printf("%lld\n", *(ptos + i));
else printf("%lld ", *(ptos + i));
}
}
return 0;
}




测试结果: 通过

训练二: 母牛的故事

Description

有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?

Input

输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0

#include<stdio.h>
#include<stdlib.h>
int main()
{
int n;
int p[55] = { 0,1,2,3,4, };
while (scanf("%d", &n) != EOF, n)
{
int s1 = 1, s2 = 0;
int i,j=0,k=0;
for (i = 4; i <= n; i++)
{
p[i] = p[i - 3] + p[i - 1];
}
printf("%d\n", p
);

}
return 0;
}


运行结果:



测试结果: 通过
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  acm 数据 编程