eolymp
bolt
Try our new interface for solving problems
Problems

The favourite numbers of Santa Claus

published at 4/9/17, 7:48:02 pm

)

published at 4/14/18, 5:04:27 pm

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

published at 7/28/21, 1:35:03 pm

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

published at 7/28/21, 11:38:23 pm

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

published at 10/8/23, 2:17:49 pm

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

published at 1/8/24, 6:55:57 am

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

}

published at 4/23/24, 8:12:19 pm

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;

}