Codeforces 716C[数论][构造]

/*
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=2;
    for(long long i=1;i<=n;i++){
        long long a=i*(i+1)*(i+1);
        long long b=bf/i;
        printf("%lld
",a-b);
        bf=i*(i+1);
    }
}
原文地址:https://www.cnblogs.com/tun117/p/5897062.html