P2669 【金币】
第一天是1枚,共1枚;第二天、第三天是2枚,共4枚;第四、五、六天共9枚。所以6天的话是12+22+32=14枚。而剩下不足凑成平方的就单独乘并与前面的相加。
#include <stdio.h> int main() { int n=0; int sum=0; int i=1; scanf("%d",&n); while(true) { if(!(n>=i)) break; sum+=i*i; n-=i; i++; } printf("%d",sum+n*i); return 0; }