All pastes #293397 Raw Edit

Something

public text v1 · immutable
#293397 ·published 2006-12-27 15:29 UTC
rendered paste body
#include<iostream.h>
#include<math.h>
#define MAX 2000005
#define LOG(a) (log10(a)/log10(2))
long P[MAX],N,a[MAX];

void prime(long n)
{
	long i,j;
	for(i=1;i<=n;i++)	
		a[i] = P[i] = i;
	for(i=2;i<=n;i++)
	{
		if(a[i]==0)		
			continue;
		for(j=2;i*j<=n;j++)
		{
			P[i*j] /= (i);
			P[i*j] *= (i-1);
			a[i*j] = 0;
		}
		P[i] = i-1;
	}
}
int main()
{
	long i,sum=0,val;	
	cin >> N;
	prime(N);
	for(i=2;i<=N;i++)
		sum += P[i];
	val = (long) LOG(sum);
	if(val!=0)
		val++;
	cout<<val<<"\n";
	return 0;
}