Codeforces 716C[数论][构造]

时间:2021-11-04 13:57:25
/*
CF傻逼构造题
某人要经过n回合游戏,初始分值是2,等级为1.
每次有两种操作
1.无条件,分值加上自己的等级数。
2.当目前的数字是完全平方数并且该数字开方以后是等级数加1的整数倍,那么可以将分值开方,等价加一。 问:每个等级需要执行多少次第一种操作。
思路:
很显然每次要加到的那个数可以是相邻两个数的平方的积..但是考虑到最后这样刚好会超long long...
但是我们最终也不要求求这个数是多少,我们需要知道它除以i是多少... */ #include<bits/stdc++.h>
using namespace std;
int main()
{
long long n;
scanf("%lld",&n);
long long bf=;
for(long long i=;i<=n;i++){
long long a=i*(i+)*(i+);
long long b=bf/i;
printf("%lld\n",a-b);
bf=i*(i+);
}
}