题解 | #[NOIP2015]金币#
[NOIP2015]金币
https://www.nowcoder.com/practice/8f71f5670e6a45118d24d13868a2da9e
#include <stdio.h> //sum 函数实现前k项的和 判断当第k天时今天发多少金币 int sum(int k) { int i=0; int sum=0; //加和到k 一定会有一个极限数字i 那么这个i就是当天发的工资 //这里有点抽象 大家可以自己打比方发现一下这个规律😘 for(i=1;i<k;i++) { sum+=i; if(sum>=k) break; } return i; } //递归实现 int fun(int k) { if(k>1) return fun(k-1)+sum(k); else return 1; } int main() { int k=0; scanf("%d",&k); int ret=fun(k); printf("%d\n",ret); return 0; } 写完真的很激动,思考的过程又烧脑又shuang!!!
为大家提供一种思路吧,当然还有更好的方法!!