hdoj-【2824 The Euler function】

    xiaoxiao2021-12-14  16

    The Euler function

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5923    Accepted Submission(s): 2501 Problem Description The Euler function phi is an important kind of function in number theory, (n) represents the amount of the numbers which are smaller than n and coprime to n, and this function has a lot of beautiful characteristics. Here comes a very easy question: suppose you are given a, b, try to calculate (a)+ (a+1)+....+ (b)   Input There are several test cases. Each line has two integers a, b (2<a<b<3000000).   Output Output the result of (a)+ (a+1)+....+ (b)   Sample Input 3 100   Sample Output 3042 #include<cstdio> #include<cstring> typedef long long LL; LL num[3100000]; void Init() { memset(num,0,sizeof(num)); LL n,j; num[1]=1; for(n=2;n<3000010;++n) { if(!num[n]) { for(j=n;j<3000010;j+=n) { if(!num[j]) num[j]=j; num[j]=num[j]*(n-1)/n; } } } } int main() { Init(); LL a,b; while(~scanf("%lld%lld",&a,&b)) { LL sum=0; for(;a<=b;++a) sum+=num[a]; printf("%lld\n",sum); } return 0; }  
    转载请注明原文地址: https://ju.6miu.com/read-970373.html

    最新回复(0)