TJU : 3510 (A Min’s Problem)



// http://acm.tju.edu.cn/toj/showp3510.html
// Tag : sequence 

// @BEGIN_OF_SOURCE_CODE

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <cctype>
#include <stack>
#include <queue>
#include <list>
#include <vector>
#include <map>
#include <sstream>
#include <cmath>
#include <bitset>
#include <utility>
#include <set>
#include <numeric>
#define INT_MAX 2147483647
#define INT_MIN -2147483647
#define pi acos(-1.0)
#define N 1000000
#define LL unsigned long long
using namespace std;

int ar [N + 10];

int main ()
{
    memset (ar, 0, sizeof (ar));

    for ( int i = 1; i <= N; i++ ) {
        for ( int j = i; j <= N; j += i ) {
            ar [j] = !ar [j];
        }
    }

    vector <int> v;
    for ( int i = 1; i <= N; i++ ) {
        if ( ar [i] ) v.push_back (i);
    }

    int m, a, b;

    while ( scanf ("%d %d %d", &m, &a, &b) ) {
        if ( m == 0 && a == 0 && b == 0 ) break;

        int cnt = 0;

        for ( size_t i = 0; i < v.size (); i++ ) {
            if ( v [i] >= a && v [i] <= b ) cnt++;
        }

        printf ("%d\n", cnt);
    }

	return 0;
}

// @END_OF_SOURCE_CODE

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s