POJ2478 && Sicily1089(欧拉函数)

来源:互联网 发布:网络直播平台 上市 编辑:程序博客网 时间:2024/06/06 07:49

一直Runtime Error,最后把phi和f的声明放到main函数外面就行了,不懂。。

#include <iostream>#include <cstdio>using namespace std;int phi[1000010];long long  f[1000010];int main(){    int i,j;    for (i=1;i<=1000010;i++)        phi[i]=i;    for (i=2;i<=1000010;i+=2)        phi[i]/=2;    for (i=3;i<=1000010;i+=2)        if (phi[i]==i)            for (j=i;j<=1000010;j+=i)                phi[j]=phi[j]/i*(i-1);    f[1]=0;    for (i=2;i<=1000010;i++)        f[i]=f[i-1]+phi[i];    while (1)    {        int n;        scanf("%d",&n);        if (!n)            break;        printf("%lld\n",f[n]);    }    return 0;}     


原创粉丝点击