Не получать простые числа - PullRequest
0 голосов
/ 28 июня 2019

Вопрос от первичного генератора SPOJ ID-2

Вход

  • Количество тестов t <= 10 </li>
  • Диапазон чисел и условие 1 <= m <= n <= 1000000000, нм <= 100000 </li>

Выход

  • Все простые числа pm <= p <= n </li>

Я тестировалэто в разных местах GCC в Windows онлайн GDB, но проблема остается той же

#include<stdio.h>
#include<math.h>

int main(void)
{
    int t,m,n;  //for the main body
    int a,b,x,y;    //for prime check

    //taking the number of test cases
    scanf("%d",&t);

    if(t<=10)   // as per given condition
    {
        for(int a=0;a<t;a++)    //1st loop test cases
        {
            printf("\n");
            scanf("%d%d",&m,&n);
            printf("\n");
            if(m>=1 && m<=n && n<=1000000000 && n-m<=100000)    // main condition
            {
                for(y=m;y<=n;y++)   // 2nd loop selecting numbers for check
                {
                    for(b=2;b<=sqrt(y);b++)     //3rd loop prime check
                    {
                        x=y%b;
                        if(x==0)
                            break;
                        else if(b==sqrt(y) && x!=0)
                            printf("%d\n",y);
                    }
                }
            }
            else
                puts("Enter valid number");
        }
    }
    else
        puts("Test cases must me less or eqal to 10");
    return 0;
}

Ожидаемые результаты:

Вход

2
1 10
3 9

Выход

2
3
5
7

3
5
7

Результаты, которые фактически показывают Входные данные

2
1 10
3 9

Выходные данные

"пусто"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...