সোমবার, ৮ অক্টোবর, ২০১৮

UVA 12716 - GCD XOR

#include <stdio.h>
using namespace std;

int F[30000005] = {};
int main()
{
    for(int i = 1; i <= 30000000; i++)
    {
        for(int j = i *2; i + j <= 30000000; j += i)
        {
            if(((i + j)&(j)) == j)
                F[i + j]++;
        }
    }
    for(int i = 1; i <= 30000000; i++)
        F[i] += F[i-1];
    int testcase, cases = 0, n;
    scanf("%d", &testcase);
    while(testcase--)
    {
        scanf("%d", &n);
        printf("Case %d: %d\n", ++cases, F[n]);
    }
    return 0;
}

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন

Factorization with prime Sieve

vector <int> prime; char sieve[1000009]; int N=1000009; void primeSieve ( ) { sieve[0] = sieve[1] = 1; prime.push_back(2); ...