[NOIP2015]金币_牛客题霸_牛客网 (nowcoder.com)
#include<stdio.h>
int main()
{
int n, i, j, a = 0, b = 0,c=0;
scanf("%d", &n);//这n是天数
for (i = 1; i <= n; i++)//这里的i是发金币的数从1开始,但把第n天发几个金币我没想到怎么转换,所以要加判断条件提前结束
{
if (c == n)//这就是提前结束的判断条件
{
break;
}
for (j = 1; j <= i; j++)//相同金币数i发i天
{
a = a + i;//相同金币数发的这些天的总和
c = c + 1;//每发一次就是一天,累计发够n天就不发了
if (c == n)
{
break;
}
}
b = b + a;//把相同金币数发的这些天的总和再总和
a = 0;//每次相同金币数发完要归零
}
printf("%d", b);
return 0;
}