All pastes #77987 Raw Edit

Someone

public c v1 · immutable
·published 2006-07-03 17:34 UTC
rendered paste body
#include <stdio.h>#define MAX 2000010 long Tot[MAX];unsigned long long SumTot = 0;long log_base2(unsigned long long num){    unsigned long long prod = 1;    long i;    for(i = 0 ;  ; i++) {        if(prod >= num)            break;        prod <<= 1;    }    return i;}int main(){	long n, i, j;	scanf("%ld", &n);	for (i = 2; i <= n; i++){		if (Tot[i] == 0) { 			for (j = i; j <= n; j += i) {				if(!Tot[j]) {					Tot[j] = j;				}				Tot[j] /= i;				Tot[j] *= (i-1);			}		}		SumTot += Tot[i];	}	printf("%ld",  log_base2(SumTot));	return 0;}