poj 2478
原来欧拉函数也存在递推关系。
代码:
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
long long b[1000001];
int n;
void read(){
// ifstream cin("in.txt");
int i,j,k,ans;
for(i=2;i<=1000000;i++)
b[i]=i;
for(i=2;i<=1000000;i+=2)
b[i]/=2;
for(i=3;i<=1000000;i+=2)
if(b[i]==i)
for(j=i;j<=1000000;j+=i)
b[j]=b[j]/i*(i-1);
for(i=2;i<=1000000;i++)
b[i]+=b[i-1];
while(cin>>n){
if(n==0) return;
cout<<b[n]<<endl;
}
}
int main(){
read();
return 0;
}
浙公网安备 33010602011771号