CSP历年复赛题-P2669 [NOIP2015 普及组] 金币

原题链接:https://www.luogu.com.cn/problem/P2669

题意解读:每连续i(1,2,3.....)天获得i枚金币,k天一共获得多少金币。

解题思路:

直接枚举连续的天数i,如果当前剩余的k天>=i,则金币累加i * i,同时剩余天数k = k - i

最后,要把剩余k天乘以i累加到结果

#include <bits/stdc++.h>
using namespace std;

int k, ans;

int main()
{
    cin >> k;
    int i;
    for(i = 1; i <= k; i++) //枚举每个连续的天数
    {
        ans += i * i;
        k -= i; //k是剩余的天数
    }
    ans += i * k;
    cout << ans;

    return 0;
}

 

posted @ 2024-06-05 10:04  五月江城  阅读(63)  评论(0编辑  收藏  举报