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

Любимые числа Деда Мороза

опубликовано 09.04.2017, 19:48:02

)

опубликовано 14.04.2018, 17:04:27

75% перевірте чи правильна ваша думка про прості числа -_-

опубликовано 28.07.2021, 13:35:03

Потрібно просто перебирати числа на проміжку від a до b. Я використовував вкладений оператор if() Перебирати від >9 до <500000.

опубликовано 28.07.2021, 23:38:23

а що, власне, мається на увазі під числами, "у яких після 1 стоїть 3, тобто утворюється число 13"? для мене це числа виду ?13? де на місці "?" розташовані одна чи декілька цифр, можливо, жодна. якщо це так, то чого зараховано лише 5 тестів? я вивів усі числа до пів мільйона, які програма може врахувати для остаточної відповіді, і серед них не було жодного такого виду (певно, що вони всі ще й прості). натомість усі числа, які одразу пропускаются, бо вони "неулюблені" в Діда Мороза, містять "13" (перевіряв сервісом для пошуку тексту). до речі, я кілька разів послаблював обмеження: ігнорував неулюблені числа 6-значні, 5-значні. врешті-решт програма стала лише саме число 13 опускати, але навіть тоді результат не погіршився й не покращився. невже я довблюся в очі?))

опубликовано 08.10.2023, 14:17:49

На python цю задачу не розвязати т.к треба створювати список (це необхідно), і цей список весь перебрати (for x in n) і перевірити чи кожне число має 13 і чи є воно просте. Тому це займає більше чим 1 секунду.

опубликовано 08.01.2024, 06:55:57

c# - 100%

using System; namespace ConsoleApp1 { internal class Program { static void Main() { string n = Console.ReadLine(); string[] arr = n.Split(' '); int a = int.Parse(arr[0]); int b = int.Parse(arr[1]);

        int say = 0;
        for (int i = a; i <= b; i++)
        {
            if (i.ToString().IndexOf("13") == -1 && sadeEded(i))
                say++;
        }
        Console.WriteLine(say);
        Console.ReadLine();
    }

    private static bool sadeEded(int n)
    {
        if (n < 2)
            return false;
        if (n == 2)
            return true;
        for (int i = 2; i * i <= n; i++)
        {
            if (n % i == 0)
                return false;
        }
        return true;
    }
}

}

опубликовано 23.04.2024, 20:12:19

include <bits/stdc++.h>

using namespace std;

bool sadeEded(int n) {

if (n < 2)
    return false;
if (n == 2)
    return true;
for (int i = 2; i * i <= n; i++) {
    if (n % i == 0)
        return false;
}
return true;

} int main() {

string n;
getline(std::cin, n);
vector<std::string> arr;
string temp = "";
for (char c : n) {
    if (c == ' ') {
        arr.push_back(temp);
        temp = "";
    } else {
        temp += c;
    }
}
arr.push_back(temp);

int a = stoi(arr[0]);
int b = stoi(arr[1]);

int say = 0;
for (int i = a; i <= b; i++) {
    string iStr = to_string(i);
    if (iStr.find("13") == string::npos && sadeEded(i))
        say++;
}
cout << say << endl;
return 0;

}