关于#C++#的问题,如何解决?

题目描述
给一个正整数N,求满足下列条件的三元组(A,B,C)的数量:
A<=B<=C and ABC<=N 保证答案不超过2的63次方

输入格式
一个整数N(1<=N<=10的11次方),1<=A,B,C

输出格式
输出答案。

样例
输入样例1
4
输出样例1
5
输入样例2
100
输出样例2
323

img

img

如下:

#include <stdio.h>

int main()
{
    long long a,b,c;
    long long n;
    long long s=0;
    long long cnt = 0L;
    scanf("%lld",&n);
    for (a=1;a<=n;a++)
    {
        for (b=a;b<=n;b++)
        {
            for (c=b;c<=n;c++)
            {
                s = (long long)a*b*c;
                if(s<=n)
                    cnt++;
            }
        }
    }
    printf("%lld",cnt);
    return 0;
}