eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Заєць-невдаха

опубліковано 03.02.17, 10:05:28

Все в примерах правильно. Номер 23 входит в эти 6 пассажиров. [23, 24, 25, 26, 27, 28] 29 номера здесь нет. Ответ: -1

опубліковано 27.01.19, 20:59:52

Скажіть що не так з 2 тестом? ніяк не можу його пройти((

опубліковано 04.06.23, 23:45:16

У другому тесті треба перевірити випадок, коди вхідні данні - це не два числа: або пустий потік, або одне число тощо, або напочатку потому та між числами - штук по 10-15 пробілів.

опубліковано 04.01.24, 11:09: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; }

опубліковано 04.01.24, 11:09:28

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; }

опубліковано 11.01.24, 16:28:01

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;

}