Задачка по си++,очень интересная=)

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Albor
Сообщения: 491
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

MaksSsimuS писал(а):Да,так и получается,если мы берем простое число p,то у нас в результате будет тож простое.....но скажите,как определить число p простым.....по идее оно должно делиться только на себя и на 1.так получаеся,что надо определенное число брать и делить на все числа стоящие перед ним???чтобы определить простоту???или как проще?и как выделить памятьт под массив???подскажите=)

Зачем на все?, выше уже писали "до корня из N". Можно "перепрыгивать" чётные делители - проверить только двойку.
chur
Сообщения: 195
Зарегистрирован: 17 фев 2004, 10:44
Откуда: Riga, Latvia

Это неверно, что если p простое, то и 2^p-1 то же простое.
Верно только, что если p составное, то и 2^p-1 то же составное.
BBB
Сообщения: 1298
Зарегистрирован: 27 дек 2005, 13:37

chur писал(а):Это неверно, что если p простое, то и 2^p-1 то же простое.
А контрпример привести можете? (Я не говорю, что это неверно, как я писал выше, я сам точно в этом не уверен. Просто интересно взглянуть на пример)
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Albor писал(а):Так вроде 7 получается.

Ай, мозги совсем состарились... Вы правы
MaksSsimuS, см. раздел "Алгоримы", тема "Определение простоты числа".
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Хыиуду писал(а):Ай, мозги совсем состарились... Вы правы

MaksSsimuS, см. раздел "Алгоритмы", тема "простые числа"
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

chur писал(а):Это неверно, что если p простое, то и 2^p-1 то же простое.
Верно только, что если p составное, то и 2^p-1 то же составное.

Также верно, что если 2^p-1 простое, то p тоже простое.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Легко. На самом деле утверждение
если p простое, то и 2^p-1 то же простое
неверно. Например 2047 (2^11-1) делится на 23. Любое из такие чисел, кажется, имеет минимум один делитель вида 2n+1 (2*11 + 1)
В качестве помощи проблеме настоятельно рекомендую почитать вот здесь
It's a long way to the top if you wanna rock'n'roll
BBB
Сообщения: 1298
Зарегистрирован: 27 дек 2005, 13:37

somewhere, спасибо за контрпример.
Albor
Сообщения: 491
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

somewhere писал(а): Любое из такие чисел, кажется, имеет минимум один делитель вида 2n+1 (2*11 + 1)

Из представленной статьи видно, что число Мерсенна может быть простым, а может и не быть таковым. Поэтому, "минимум один делитель" - неверно.
chur
Сообщения: 195
Зарегистрирован: 17 фев 2004, 10:44
Откуда: Riga, Latvia

Количество известных простых чисел Мерсена на данный момент чуть более 40 штук. Не 40 тысяч, а просто 40.
Т.е. с вероятностью близкой к единице число вида 2^p-1 будет составным :)
Ответить