![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Вывести все натуральные числа из отрезка [M,N], сумма делителей которых равна сумме делителей числа, записанного теми же цифрами в обратном порядке. Использовать процедуру (функцию) нахождения суммы делителей числа.
Вот что у меня вышло Код:
{$APPTYPE CONSOLE} uses SysUtils; Procedure del( k:integer;d:real); var i,p:integer; begin d:=K+1; p:=k div 2; for i:=2 to p do if ((k mod i)=0) then d:=d+i; end; var k,m,n,i,s:integer;d,t:real; begin writeln('k,m,n'); readln(k,m,n); for i:=m to n do begin del(k,d); del(i,t); if d=t then write(i,' '); end; readln; end. Не могу выполнить вот это условие -"записанного теми же цифрами в обратном порядке." Asira |
#2
|
|||
|
|||
![]() Код:
function ReverseStr(S : String) : String; var I : Integer; begin Result := ''; For I := 1 To Length(S) Do Result := S[i] + Result; end; function ReverseInt(N : Integer) : Integer; begin Result := StrToInt(ReverseStr(IntToStr(N))); end; |
#3
|
|||
|
|||
![]() НЕобходимо сделать без строк...
Asira Последний раз редактировалось Asira, 17.01.2011 в 22:28. |
#4
|
||||
|
||||
![]() Первый пришедший в голову ответ на такое гневное сообщение 'нада денюжку платить!!'.
думаю побитовые сдвиги тебе тоже не подойдут.. ну вот например сделай деление с остатком на 10, пока остаток больше 10, итог:=итог*10+остаток от деления. Потом добавь последний остаток. Где то так. могу и код, но с телефона неудобно. Нет повести печальнее на свете, чем повесть о заклиневшем Resete. ![]() Последний раз редактировалось Ferra, 11.01.2010 в 20:58. |
#5
|
|||
|
|||
![]() Ага... Спасибо разберусь надеюсь
Asira Последний раз редактировалось Asira, 17.01.2011 в 22:29. |