| 1 Вохидов Фазлиддин, 10 января 2026 г. 8:13:12 |
| #include <iostream> #include <vector> using namespace std; int main() { unsigned int N; cin >> N; vector<unsigned int> factors; for (unsigned int i = 2; i * 1ULL * i <= N; ++i) { while (N % i == 0) { factors.push_back(i); N /= i; } } if (N > 1) { factors.push_back(N); // остаток — тоже простой множитель } for (size_t i = 0; i < factors.size(); ++i) { if (i > 0)cout << "*"; cout << factors[i]; } cout << endl; return 0; }
|
|
|
| 2 Неизвестный, 21 сентября 2024 г. 10:43:18 |
| как решит на питоне? скиньте решение
|
|
|
| 3 Ахметов Роман Константинович, 29 августа 2024 г. 12:49:55 |
| кстати
|
|
|
| 4 Ахметов Роман Константинович, 29 августа 2024 г. 12:49:48 |
| 2^31-1 - это простое число
|
|
|
| 5 Имрон, 19 января 2023 г. 16:05:07 |
| тест 1994 = 2 * 997 Нужно циклом побегать до корня потом в конце проверят если n != 1 cout << n; вот и всё
|
|
|
| 6 Сомони Фазлиддин, 10 апреля 2021 г. 10:06:01 |
| не забыть про то что после разложения, может остатся простое число, которое естественно не разложилось
|
|
|
| 7 Вадим К, 30 августа 2020 г. 19:20:50 |
| понял ... второй тест отличается только зачем? это же учебная задача и об этом не сказано ... время потерял
|
|
|
| 8 Вадим К, 30 августа 2020 г. 18:53:05 |
| 2*3*5 как то отличается от 2*3*5 !!? похоже эту задачу начального уровня теперь почему-то нельзя сдать ...
|
|
|
| 9 Терешков Никита Александрович, 24 сентября 2019 г. 14:40:03 |
| не знаю в чём проблема и 2^31-1 b 2^31-2 проходит
|
|
|
| 10 Халанский Дмитрий Владимирович, 29 июля 2012 г. 21:35:07 |
| *ярость* Переполнение типа вызвало не RE, а TLE! Я полчаса систематически получал TLE, чтобы понять, что алгоритм и в первый раз был не плохой, а сменить надо всего-навсего тип переменной!
|
|
|
| 11 Смешарик, 30 ноября 2011 г. 18:53:34 |
| У Вас неправильный разбор задачи: если использовать тип 32-битный тип, то при умножении i*i в 15-ом тесте будет перебор и time limit. Надо либо беззнаковый, либо 64-битовый.
|
|
|
| 12 Долуд Макс, 14 марта 2011 г. 16:45:34 |
| без sqrt(n) можна сделать так: если i*i<n :)
|
|
|
| 13 Рокьян Эдгар, 05 января 2011 г. 12:51:18 |
| странно, вроде в моем решении все так же, как в разборе, а 15 тест все равно тл =(((
|
|
|
| 14 Козел Антон, 05 января 2011 г. 11:41:53 |
| у кого TL - sqrt вам в помощ =)
|
|
|
| 15 enmaaai, 14 апреля 2010 г. 3:02:45 |
как можно извлечь корень не переводя число в double ? а тут можно не извлекать корень
|
|
|
| 16 nevedomka, 19 февраля 2010 г. 17:34:07 |
обязательно: 1) тип чисел делать long int (в С++) 2) не забыть про то что после разложения, может остатся простое число, которое естественно не разложилось В VC типы long int и int равноценны.
|
|
|
| 17 Коншин Андрей Сергеевич, 08 ноября 2009 г. 20:25:00 |
Минут 40 мучился,чтобы прошел тест 2^31-1,потому что забыл,что есть тип int64(((( ведь при переполнении longint,он уходит в число n<0 2^31-1 - не большое число, типа integer (он же longint в делфи) вполне достаточно.
|
|
|
| 18 Банин Максим Александрович, 09 августа 2009 г. 16:28:06 |
| Опыт подсказывает, что "разложение на простые множители" и "список простых множителей" это разные вещи. Однако, лучшей формулировки мне тоже в голову не приходит.
|
|
|