UVA 10200 (欧拉定理打表)

    xiaoxiao2025-05-04  8

    题目链接:http://acm.hust.edu.cn/vjudge/problem/22214

    代码:

    #include<cstdio> int prime(int x) { if(x==0||x==1) return 1; else { for(int i=2;i*i<=x;i++) { if(x%i==0) return 0; } } return 1; } int main() { int num[10000+10]; num[0]=1; for(int i=1;i<10010;i++) //打表 { if(prime(i*i+i+41)) num[i]=num[i-1]+1; else num[i]=num[i-1]; } int a,b; int s,sum; while(~scanf("%d%d",&a,&b)) { sum=num[b]-num[a]+prime(a*a+a+41); s=b-a+1; printf("%.2lf\n",sum*1.0/s*100+1e-7); } return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-1298749.html
    最新回复(0)