#include #include #define MAX 2000002 unsigned long long int ziValues[MAX]; unsigned long long int prime[MAX/2]; unsigned long long int primecnt; long int getNoQns(unsigned long long int num) { long int pos = 0; while(num>1) { num=((num+1)/2u); pos++; } return pos; } unsigned long long int getZiVal(unsigned long int num) { unsigned long long int i, n, limit, divn; double tmp; tmp = (double)num; limit = (int)sqrt(tmp)+1; for(i=0;i