Генератор простых чисел между двумя нет. Ошибка-- превышен лимит времени
мы должны вывести простые числа между двумя интервалами m & n (m<=n<=1000000000) для t тестовых случаев(t<=10).
там может быть какая-то ошибка в типах данных для m,n. но я тоже пробовал с long long.
Что я уже пробовал:
#include <iostream> using namespace std; int main() { int m,n; int i,j,t; cin>>t; while(t>0) { cin>>m>>n; for(i=m;i<=n;i++) { int p=1; for(j=2;j<=i/2;j++) { if(i%j==0) { p=0; } } if(p==1 && i!=1) { cout<<i<<"\n"; } } cout<<"\n"; t--; } return 0; }
Richard MacCutchan
Вам нужно вырваться из петли, как только вы обнаружите, что число не может быть простым. Так что замените p = 0;
с break;