foj 2191 完美的數字

2021-07-02 05:19:34 字數 698 閱讀 6815

problem 2191 完美的數字

輸入兩個整數a,b(1<=a<=b<=10^15)

輸出乙個整數,表示從a到b的所有數字流行度之和。

1 80

107福州大學第十二屆程式設計競賽

題意:如題。

做法:其實是多個等差數列的項數相加,因為完美數是a*a*b(0ss=(a-i*i*i)/(i*i)+1,否則ss=0;b也是如此求出ee=(b-i*i*i)/(i*i)+1;然後在ans+=(ee-ss);

#include #include #include #include #include #include #include #include #include #define esp 1e-6

#define inf 0x0f0f0f0f

#define ll long long

using namespace std;

long long po3(long long a)

int main()

{ long long a,b;

long long i,j,ans,s,e;

while(scanf("%i64d%i64d",&a,&b)!=eof)

{ans=b-a+1;

for(i=2;i<=100000;i++)

{if(b>=po3(i))

{if(a

FZU Problem 2191 完美的數字

accept 41 submit 121 time limit 1000 msec memory limit 32768 kb problem description s,s表示的是從a到b的所有數字的流行度之和,即s d a d a 1 d b input 輸入兩個整數a,b 1 a b 10 1...

FZU 2191 完美的數字

fzu 2191 input 輸入兩個整數a,b 1 a b 10 15 output 輸出乙個整數,表示從a到b的所有數字流行度之和。sample input 1 80 sample output 107 思路 對於1 n a a b n b n a a 所有滿足b a 的數字 可得出 a a b...

FZU 2191 完美的數字 數論

傳送門 題型 數論 題意 中文題,不解釋。分析 因為要求x a a b且b a,所以,如果單純計算x的方法數的話,對a列舉到10 5就可以了。對於區間 a,b 列舉 b的數k,完美度為b k a 1 k 這裡,b k k,但是 a 1 k 可能 所以應該表述成 b k max a 1 k i 1 最...