Заяц-неудачник
Все в примерах правильно. Номер 23 входит в эти 6 пассажиров. [23, 24, 25, 26, 27, 28] 29 номера здесь нет. Ответ: -1
Скажіть що не так з 2 тестом? ніяк не можу його пройти((
У другому тесті треба перевірити випадок, коди вхідні данні - це не два числа: або пустий потік, або одне число тощо, або напочатку потому та між числами - штук по 10-15 пробілів.
include "iostream"
include "string"
include "math.h"
include "sstream"
using namespace std; int main() { int N, ans=-1; bool fail=false, found=false; long tick; short len; string ticket; cin >> N >> ticket; stringstream ss(ticket); ss >>tick; len=(short)ticket.length(); ticket=""; for(long i=tick+1; i < tick+N; ++i, fail=false) { ss.str(""); ss.clear(); ss << i; ticket = ss.str(); if(len<(short)ticket.length()){ fail=true; break; } ++ans; for(int j=2; j<=sqrt(i); ++j) { if(!(i%j)) fail=true; } if(!fail) { found=true; break; } } cout << (fail||!found ? -1: ans) << endl; return 0; }
include "iostream"
include "string"
include "math.h"
include "sstream"
using namespace std; int main() { int N, ans=-1; bool fail=false, found=false; long tick; short len; string ticket; cin >> N >> ticket; stringstream ss(ticket); ss >>tick; len=(short)ticket.length(); ticket=""; for(long i=tick+1; i < tick+N; ++i, fail=false) { ss.str(""); ss.clear(); ss << i; ticket = ss.str(); if(len<(short)ticket.length()){ fail=true; break; } ++ans; for(int j=2; j<=sqrt(i); ++j) { if(!(i%j)) fail=true; } if(!fail) { found=true; break; } } cout << (fail||!found ? -1: ans) << endl; return 0; }
include <iostream>
include <string>
include <cstdlib>
include <cmath>
bool isPrime(int num) { if (num % 2 == 0) return false;
for (int i = 3; i <= static_cast<int>(std::sqrt(num)); i += 2) {
if (num % i == 0)
return false;
}
return true;
}
int main() { int numPas; std::string ticketNum;
std::cin >> numPas >> ticketNum;
int startFrom = std::atoi(ticketNum.c_str());
int notMoreThan = static_cast<int>(std::pow(10.0, ticketNum.size()));
bool found = false;
int i;
for (i = 1; i < numPas; i++) {
int currentTicket = startFrom + i;
if (currentTicket >= notMoreThan)
break;
found = isPrime(currentTicket);
if (found)
break;
}
if (found) {
std::cout << i - 1 << "\n";
} else {
std::cout << -1 << "\n";
}
return 0;
}