zoukankan      html  css  js  c++  java
  • POJ NOI0105-45 金币

    问题链接POJ NOI0105-45 金币



    总时间限制:
    1000ms
    内存限制:
    65536kB
    描述

    国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币(N为任意正整数)。

    你需要编写一个程序,确定从第一天开始的给定天数内,骑士一共获得了多少金币。
    输入
    一个整数(范围1到10000),表示天数。
    输出
    骑士获得的金币数。
    样例输入
    6
    样例输出
    14
    提示

    来源
    Rocky Mountain 2004


    问题分析

      这个问题可以用模拟计算来解决。

      关键在于计算快速快,计算逻辑易懂。

    程序说明

      与参考链接是同一个题,程序代码是直接拿过来用的,有关说明参见参考链接。





    参考链接Vijos P1974 金币




    AC的C++语言程序:

    #include <iostream>
    
    using namespace std;
    
    int goldCoins(int n)
    {
        int gc1, gc2=0, i, j, k;
    
        j = 1;  /* Ai, S=1,2,2,3,3,3,4,4,4,4,...... */
        k = 1;  /* 同值计数变量:j值够j个(用k来计数, k=j时)则j增1 */
        gc1 = 0;
        for (i=1; i<=n; i++) {
            gc2 = j + gc1;
            if (k == j){
                j++;
                k = 0;
            }
            k++;
    
            gc1 = gc2;
        }
    
        return gc2;
    }
    
    int main()
    {
        int k;
    
        cin >> k;
    
        cout << goldCoins(k) << endl;
    
        return 0;
    }



  • 相关阅读:
    spring 09-Spring框架基于QuartZ实现调度任务
    spring 08-Spring框架Resource资源注入
    spring 07-Spring框架Resource读取不同资源
    spring 06-Spring框架基于Annotation的依赖注入配置
    html 默认跳转
    poi 设置样式
    支付宝扫码支付回调验证签名
    构造器初始化
    cxf webservice
    CSS3 border-image 属性
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563813.html
Copyright © 2011-2022 走看看