All pastes #224886 Raw Edit

Rave Hanker

public text v1 · immutable
#224886 ·published 2006-10-27 17:02 UTC
rendered paste body
#include <cstdio>
#include <cstring>

inline void setOn(char *Seive, long int state)
{
	Seive[state>>3] |= 1<<(7&state);
}

inline bool isOn(char *Seive, long int state)
{
	return (Seive[state>>3] & 1<<(7&state)) == 1<<(7&state);
}

int main()
{
    int n;
    char FirstTime;
    scanf("%d", &n);

    FirstTime = true;
    while (n--) {
        int lo, hi;
        scanf("%d %d", &lo, &hi);
        char Seive[hi+2];
        memset(Seive, 0, hi+2);
        int m, M;
        m = lo<?hi;
        M = hi>?lo;

        for (int i=2; i<=hi; i++) {
            if (!isOn(Seive, i)) {
                    for (int j=i<<1; j<=hi; j+=i) {
                        setOn(Seive, j);
                    }
            }
        }

        if (!FirstTime) 
            printf("\n");
        else
            FirstTime=false;
        for ( ; lo<=hi; lo++) 
            if (!isOn(Seive, lo) )
                printf("%d\n", lo);

    }
    return 0;
}