Форум » Массивы, сортировка, работа с файлами » Задача №2600 » Ответить

Задача №2600

BW: Здравствуйте, я решал задачу №2600, но у меня ответ частично не сошёлся (Мой ответ: 14381 268313). Вот мой код: Это код на C++. [pre2] #include <iostream> #include <algorithm> using namespace std; int main() { int n = 0; int save = 1000000000; for (int i = 268312; i <= 336492; i++) { bool wok = false; int count = 0; int del1 = 0; int del2 = 0; for (int j = 2; j * j <= i; j++) { if (i % j == 0) { count += 2; if (j == i / j)count--; } if (count > 2) { wok = true; break; } } if (!wok && count == 2) { n++; save = min(save, i); } } cout << n << ' ' << save; } [/pre2]

Ответов - 6

RuslanA: Решал недавно, ответ как у тебя [pre2] n = 0 g = 0 for i in range(268312, 336493): d1 = 0 d2 = 0 x = 0 for j in range(2, round(i ** 0.5) + 1): if i % j == 0: if x == 0: d1 = j d2 = i // j x += 2 else: x += 1 break if d1 != d2 and x == 2: if g == 0: print(i) g+= 1 n += 1 print(n) [/pre2]

Поляков: представляют собой произведение двух различных простых делителей

RuslanA: Поляков пишет: у меня есть эта проверка, но ответ другой


RuslanA: Поляков пишет: у меня есть эта проверка, но ответ другой (d1 != d2)

BW: Так у меня это учитывается тоже. Если делителей больше чем два, то он не пройдёт. Следовательно если у нас два делителя значит это квадрат, что у меня тоже учитывается.

BW: Всё разобрались, не учитывали куб.



полная версия страницы