原题链接:
题解:
#include<iostream>
int main(){
    int i,j,k,day=0,sum=0,x=1;
    scanf("%d",&k);
    for(i=1;i<=k;i++){
        for(j=1;j<=i;j++){
            day++;
            sum+=i;
            if(day==k)  break;
        }
        if(day==k)  break;
    }
    printf("%d",sum);
return 0;
}
  
i 1 2 3 4
j天数 1 2 3 4
sum金币 1 2*2 3*3 4*4

  for(i=1;i<=k;i++){                        //   第一重循环i最大不会超过k
        for(j=1;j<=i;j++){                    //第二重循环j用来控制每轮i下的天数,开始我还想着用k来除余之类的来得到i和j
            day++;
            sum+=i;
            if(day==k)  break;
        }
        if(day==k)  break;        //差点忽略,只用一个break只能跳出j层循环,不能跳出i层循环