题目:来源于洛谷
分析:
运算规律就是:1 2 2 3 3 3 4 4 4 4…
我还是用暴力求解,一点都不优雅m( _ _ )m,两个for循环,外层控制 之后的多少天,内层控制 之后的多少天里 的 第几天
话不多说,看看代码吧:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int k, sum = 0, count = 0, flag = 0; //count是统计第一天,flag辅助跳出外层循环
cin >> k;
for (int i = 1; ;++i) {
for (int j = 1; j <= i; ++j) {
sum += i;
count++;
if (count == k) {
flag = 1;
break;
}
}
if (flag) {
break;
}
}
cout << sum << endl;
return 0;
}
肯定还有更好的解法,我刚开始想的是可以利用平方数来求,现在想想,也差不多
来来来,看看代码:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int k, sum = 0, i = 1;
cin >> k;
while (k>0) {
sum += i*i;
k -= i;
i++;
}
cout << sum+k*(i-1) << endl;
return 0;
}
最后输出的这个公式,我是用k=7来推算出来
算了,再刷一题,换个战场!
╰( ̄ω ̄o)