Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Turbo Pascal] найти все совершенные числа  
:(
    Опции темы
Alx
Дата 6.5.2008, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: нет
Всего: 78



совершенные числа - числа, равные сумме всех своих делителей, например 6, 28
надо их все найти.
как это сделать? у меня что-то даже идей нету...


--------------------
PM MAIL WWW ICQ   Вверх
tanuffka
Дата 6.5.2008, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.5.2008

Репутация: 1
Всего: 1



Код

program soversh;
uses crt;
var
   sim,n,i,sum,s,c,k,minus:integer;
   z,z1,res,ste,s4,min,max:integer;
   n1:char;
   ar:array[1..255] of integer;
label l1,l2,l3,l4;
begin
     k:=0; s:=0; s4:=1;
     writeln('vvedite 4isla');
l2:  z1:=1; ste:=1; res:=0;
     n1:=readkey; i:=1;  sum:=0;
     if n1=#45 then minus:=1;
     k:=k+1;
     val(n1,n,c);
     ar[k]:=n;
     if (n1=#32) or(n1=#13) then
        begin
            z1:=k;
            for z:=1 to k do
            begin
            if z1=1 then goto l3;
            res:=res+ste*ar[z1-1];
            ste:=ste*10;
            z1:=z1-1;  end;
            l3:
        k:=0;
        if minus=1 then begin res:=res*(-1); minus:=0; end;
        writeln(res);
        end;
 sim:=res;
 if sim<>0 then begin
 if s4=1 then begin min:=sim; max:=sim; end;
 s4:=s4+1;
 if (min>sim) and (sim<>0) then min:=sim;
 if (max<sim) and (sim<>0) then max:=sim;   end;



 l1: if i<sim then begin
     if ((sim mod i)=0) then sum:=sum+i;
     i:=i+1; goto l1; end;[/color]


   if sum=sim then s:=s-sim  else s:=s+sim;
     if n1=#27 then writeln('Srednee=',s,' Min=',min,' Max=',max) else goto l2;
repeat until keypressed;
end.



Добавлено @ 23:50
Вот. Моя прога расположенная выше вот что делает --> вводятся числа, до нажатия ESC , и считается среднее - если число совершенное , то вычитается, если нет, то прибавляется, выделенный код программы проверяет наличие совершенного числа

Это сообщение отредактировал(а) tanuffka - 6.5.2008, 23:53
PM MAIL   Вверх
Kuvaldis
Дата 6.5.2008, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


механик-вредитель
***


Профиль
Группа: Участник Клуба
Сообщений: 1189
Регистрация: 16.6.2006
Где: Минск

Репутация: 32
Всего: 61



tanuffka
В данном разделе явно выбирай теги для подсветки кода ;) (я подправил)


--------------------
Помни - когда ты спишь, враг не дремлет
Спи чаще и дольше, изматывай врага бессоницей
PM MAIL ICQ   Вверх
opjox
Дата 7.5.2008, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 17.1.2008

Репутация: 11
Всего: 14



http://ru.wikipedia.org/wiki/Совершенные_числа
В пункте «История изучения» множество фактов, касающихся этих чисел, которых достаточно для реализации программы (причем не банальным жестким перебором). 

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0554 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.