![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Ангел |
![]()
Сообщение
#1
|
Школьник ![]() Группа: Продвинутые Сообщений: 38 Регистрация: 30.9.2008 Из: Башкирия, Белебей Город: Белебей Учебное заведение: Школа Вы: школьник ![]() |
Пожалуйста помогите решить задачу.
Дано число n. Если это не палиндром реверсируйте цифры и сложите их с первоначальным числом так до тех пор пока сумма не станет полидромом например 78+87=165 165+561=726 726+627=1353 и т.д Я тут начала делать но что делать дальше не знаю. Очень прошу помогите Var n, a, s, m, c: longint; k, d, b1, b2: byte; procedure stepen(p: integer; var s: longint); var i: integer; begin s:= 1; For i:= 1 to p do s:= s*10; end; procedure kolvo(n: longint; var k: byte); begin k:= 0; While n<>0 do begin n:= n Div 10; k:= k+1; end; end; begin read(n); a:= n; kolvo(n,k); stepen(k-1,s); d:= 0; m:=0; While a<>0 do begin b1:= a Div s; b2:= a Mod 10; if b1=b2 then d:= d+1; a:= (a mod s) Div 10; s:= s Div 100; end; stepen(k-1,s); While n<>0 do begin c:= n mod 10; m:= m+c*s; n:= n div 10; s:= s div 10; end; case k mod 2 of 1: if d= ((k Div 2)+1) then Write(true) else writeln(m); 0: if d = (k Div 2) then Write(true) else write(m); end; end. |
![]() ![]() |
Inspektor |
![]()
Сообщение
#2
|
Аспирант ![]() ![]() ![]() Группа: Активисты Сообщений: 384 Регистрация: 11.6.2008 Город: Крыжополь Учебное заведение: БГТУ Вы: студент ![]() |
В длинном коде никто не будет копаться.
1) Вы написали функцию для проверки числа "на полиндром". 2) Вы написали функцию для "переворота" числа? |
kaa |
![]()
Сообщение
#3
|
Аспирант ![]() ![]() ![]() Группа: Активисты Сообщений: 422 Регистрация: 7.1.2009 Город: Украина Киев Вы: школьник ![]() |
(я знаю с++ н может помогу)
тут надо так! строками взять адресс 2 элемента строки и переставить на 1 место!) потом этот адресс разименовать ! все это дело будет происходить в цыкле!) (больше не чем помочь не могу) |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 20:35 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru