acm 训练2017 03 06

训练一: 偶数求和
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[n]);

    }
    return 0;
}

运行结果:
这里写图片描述
测试结果: 通过

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值