/*********************************************************
Creator: Nishant Kumar
Date : 8/1/2014
Problem: SPOJ Prime Number Generator between given range.
**********************************************************/
#include <iostream>
#include <math.h>
using namespace std;
int generatePrime(int, int);
int main(){
int testCase,*arrayTestCase, index = 0, testCaseLen = 0;
// Keep test cases
cin >> testCase;
if(testCase && testCase <= 10){
// Allocate memory for keep number of testCases
arrayTestCase = new int[testCase*2];
testCaseLen = testCase;
// Store all range in array
while(testCaseLen){
cin >> arrayTestCase[index] >> arrayTestCase[index+1];
index += 2;
--testCaseLen;
}
testCaseLen = testCase;
index = 0;
while(testCaseLen){
generatePrime(arrayTestCase[index], arrayTestCase[index+1]);
cout << "\n";
index = index+2;
--testCaseLen;
}
}else{
cout << "Test case should be lesser then 10.";
}
return 0;
}
// List of prime number between given range
int generatePrime(int start, int end){
long int diviser, *rangeList;
int count;
if(start <= end){
while(start <= end){
count = 0;
if((start != 2 && start%2 == 0 )|| (start != 3 && start%3 == 0) || (start!= 5 && start%5 == 0 )|| (start != 7 && start%7 == 0) ){
count = 1;
}
if(!count && start != 1){
cout << start << "\n";
}
start++;
}
}
return 0;
}
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpDcmVhdG9yOiBOaXNoYW50IEt1bWFyCkRhdGUgOiA4LzEvMjAxNApQcm9ibGVtOiBTUE9KIFByaW1lIE51bWJlciBHZW5lcmF0b3IgYmV0d2VlbiBnaXZlbiByYW5nZS4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWF0aC5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgZ2VuZXJhdGVQcmltZShpbnQsIGludCk7CmludCBtYWluKCl7CgogIGludCB0ZXN0Q2FzZSwqYXJyYXlUZXN0Q2FzZSwgaW5kZXggPSAwLCB0ZXN0Q2FzZUxlbiA9IDA7CgogIC8vIEtlZXAgdGVzdCBjYXNlcwogIGNpbiA+PiB0ZXN0Q2FzZTsKCiAgaWYodGVzdENhc2UgJiYgdGVzdENhc2UgPD0gMTApewogICAgLy8gQWxsb2NhdGUgbWVtb3J5IGZvciBrZWVwIG51bWJlciBvZiB0ZXN0Q2FzZXMKICAgIGFycmF5VGVzdENhc2UgPSBuZXcgaW50W3Rlc3RDYXNlKjJdOwogICAgdGVzdENhc2VMZW4gPSB0ZXN0Q2FzZTsKCiAgICAvLyBTdG9yZSBhbGwgcmFuZ2UgaW4gYXJyYXkKICAgIHdoaWxlKHRlc3RDYXNlTGVuKXsKICAgICAgICBjaW4gPj4gYXJyYXlUZXN0Q2FzZVtpbmRleF0gPj4gYXJyYXlUZXN0Q2FzZVtpbmRleCsxXTsKICAgICAgICBpbmRleCArPSAyOwogICAgICAgIC0tdGVzdENhc2VMZW47CiAgICB9CgogICAgdGVzdENhc2VMZW4gPSB0ZXN0Q2FzZTsKICAgIGluZGV4ID0gMDsKICAgIHdoaWxlKHRlc3RDYXNlTGVuKXsKICAgICAgICBnZW5lcmF0ZVByaW1lKGFycmF5VGVzdENhc2VbaW5kZXhdLCBhcnJheVRlc3RDYXNlW2luZGV4KzFdKTsKICAgICAgICBjb3V0IDw8ICJcbiI7CiAgICAgICAgaW5kZXggPSBpbmRleCsyOwogICAgICAgIC0tdGVzdENhc2VMZW47CiAgICB9CgogIH1lbHNlewogICAgIGNvdXQgPDwgIlRlc3QgY2FzZSBzaG91bGQgYmUgbGVzc2VyIHRoZW4gMTAuIjsKICB9CiAgcmV0dXJuIDA7Cn0KCi8vIExpc3Qgb2YgcHJpbWUgbnVtYmVyIGJldHdlZW4gZ2l2ZW4gcmFuZ2UKaW50IGdlbmVyYXRlUHJpbWUoaW50IHN0YXJ0LCBpbnQgZW5kKXsKICAgIGxvbmcgaW50IGRpdmlzZXIsICpyYW5nZUxpc3Q7CiAgICBpbnQgY291bnQ7CiAgICBpZihzdGFydCA8PSBlbmQpewogICAgICAgIHdoaWxlKHN0YXJ0IDw9IGVuZCl7CiAgICAgICAgICAgIGNvdW50ID0gMDsKICAgICAgICAgICAgaWYoKHN0YXJ0ICE9IDIgJiYgc3RhcnQlMiA9PSAwICl8fCAoc3RhcnQgIT0gMyAmJiBzdGFydCUzID09IDApIHx8IChzdGFydCE9IDUgJiYgc3RhcnQlNSA9PSAwICl8fCAoc3RhcnQgIT0gNyAmJiBzdGFydCU3ID09IDApICl7CiAgICAgICAgICAgICAgICAgY291bnQgPSAxOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKCFjb3VudCAmJiBzdGFydCAhPSAxKXsKICAgICAgICAgICAgICAgIGNvdXQgPDwgc3RhcnQgPDwgIlxuIjsKICAgICAgICAgICAgfQogICAgICAgICAgICBzdGFydCsrOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9Cgo=