21~~
int sum(int a)//前n次循环的总和的钱
{
int totle=0;
for(int i=1;i<=a;i++)
{
int x=i*i;
totle += x;
}
return totle;
}
int sum_t(int n)//前n个循环的天数 1+2+3+4...
{
int sum=0;
for(int i=1;i<=n;i++)
sum+=i;
return sum;
}
int main()
{
int k,i,money;
scanf("%d",&k);
int n=0;
while ( sum_t(n+1)<= k)
n++;
money=sum(n)+(n+1)(k-sum_t(n));
printf("%d",money);
return 0;
bug1:想表达x的x次方该代码,pow(x, x) 直接表示计算 x 的 x 次方;
主要是构建两个函数,一个计算前n轮循环总钱,一个计算前n个循环的天数 1+2+3+4...;
收获:主要是构建两个函数,一个计算前n轮循环总钱,一个计算前n个循环的天数 1+2+3+4...;在构建前两个函数的循环里面,开头都写成了i=0,应该是i等于1
还有在第一个函数里不应该是i的i次方应该是ii; while ( sum_t(n)<= k) n++;这里应该是写成了sum(n+1)<=k。这里一开始写成了sum(n)<=k,还有在计算剩余天数时应该是减去前n轮循环的(k-sum_t(n+1)
浙公网安备 33010602011771号