![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 22.12.2007
Сообщений: 4
|
![]()
прошу помочь с задачкой
![]() >>Найти совершенные числа от 2 до N. Значение N ввести с клавиатуры. у меня получилось такое решение, но как мне говорят здесь полно ошибок ![]() Код:
Последний раз редактировалось klarissa; 26.12.2007 в 16:01. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
У вас сплошная путаница с циклами.
Зачем два раза For i:=2 to n do begin For i:=2 to n do Потом опять For i:=1 to n-1 do Потом не n mod i=0, а if i mod j=0 then Два раза к:=0; На выходе пишите целое-не целое, когда нужно совершенное. И почитайте что-нибудь про совершенные числа, а то у вас мало вероятно, что когда-нибудь выпадет совершенное. Подремонтируйте программу, почитайте, результат напишите. В крайнем случае поищите решение на форуме, эта задача решалась не один раз. |
![]() |
![]() |
![]() |
#3 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Вот тут была похожая задача. http://forum.xakep.ru/m_1003726/mpage_1/tm.htm
Есть одна особенность, позволяет ОЧЕНЬ ускорить поиск 110 = 6 11100 = 28 1111000 - 120 не совершенное! 111110000 - 496 11111100000 - 2016 не совершенное! 1111111000000 - 8128 ... т.е. каждое совершенное число в двоичном виде Nединиц:N-1нулей (тока не наоборот, не каждое N1:N-1 совершенное), таким образом можно проверять не все подряд числа, а только числа вида 1nnnn0mmm <= N и ещё http://ru.wikipedia.org/wiki/Совершенное_число
пыщь
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 22.12.2007
Сообщений: 4
|
![]()
учитывая замечания получатся что то вроде этого:
Код:
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Это действительно просто, но не настолько, как у вас. У вас ведь сначала был вложенный цикл, только в нем вместоj было написано i.
Сейчас вы его выкинули и стало совсем просто, только работать не будет. Нужно так: Код:
Последний раз редактировалось puporev; 26.12.2007 в 23:15. |
![]() |
![]() |
![]() |
#6 |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
![]()
А вот древним грекам было известно только 4 совершенных числа.
А какое 5 совершенное число? У меня компьютер долго его считает, терпения не хвотает у меня.
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Пятое 33 550 336, шестое — 8 589 869 056.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на Pascal... | Sota | Помощь студентам | 3 | 04.05.2008 14:52 |
задача на записи Pascal | kitty | Помощь студентам | 9 | 18.04.2008 18:14 |
Задача [Pascal] | [Smarik] | Помощь студентам | 4 | 04.02.2008 15:50 |