問題のUVa11461へのソリューション

タイトルエフェクトデータの複数のセットは、データの各セットは、2つの正の整数を与えられている\(A、B \) 要求(B \)\正方形間の完全数の数。

分析は、プレフィックスとすることができます。

#include<bits/stdc++.h>
using namespace std;

const int maxn = 1E+5 + 5;

int a, b;
int ans[maxn];

int main()
{
    for(int i = 1; i * i <= 1E+5; ++i) ans[i * i] = 1;
    for(int i = 1; i <= 1E+5; ++i) ans[i] += ans[i - 1];
    while(~scanf("%d%d", &a, &b) && a && b)
        printf("%d\n", ans[b] - ans[a - 1]);
}

おすすめ

転載: www.cnblogs.com/whx1003/p/11964895.html