#include<stdio.h>intmain(){int days;scanf("%d",&days);int sum =0;//记录总的金币数int countdays =1;int coin =1;while(days >0){int current_days =(countdays < days)? countdays : days;//记录获得相同金币的日子
sum += coin * current_days;
days -= current_days;
coin++;
countdays++;}printf("%d\n", sum);return0;}
2.代码二
#include<stdio.h>intmain(){int n, gold =0, day =0, ans =0;//gold表示当前这一天发几枚金币,也代表之后几天;day表示第几天;ans记录攒下金币总和scanf("%d",&n);int i=1;while(day<=n){
gold++;for(i =1; i <= gold; i++){
ans += gold;
day++;if(day == n){printf("%d", ans);return0;//终止循环}}}return0;}