目录
R.ABC conjecture
题意:
给定一个整数n,问满足乘积小于n且不绝对递增的三元组的数目。
思路:
枚举第一个数i,从1到n的三分之一次方,再枚举第二个数j,从i到j*j*i小于n,
两层循环,满足递增则总数目增加数即为j之后的k的所有取值情况数。
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,sum=0;
cin>>n;
for(long long i=1;i*i*i<=n;i++)
for(long long j=i;j*i*j<=n;j++)
{
if(n/(i*j)<j||n/(i*j)<i) continue;
sum+=n/(i*j)-j+1;
}
cout<<sum;
}