02.03.2018, 20:55 | #1 (permalink) |
Member
Регистрация: 14.12.2017
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Палиндромы
Задача: |
02.03.2018, 20:55 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
На форуме это и ранее обсуждалось, посмотрите Найти и вывести слова-палиндромы. Delphi. |
03.03.2018, 21:44 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Прежде всего, с прискорбием отмечаю продолжение тупого вываливания заданий на форумы без малейшей попытки хоть что-то решить самостоятельно. Чем это закончится (причём неизбежно!) я уже писал здесь. Ну-ну, давайте. Только потом не плачьте.
Код:
Var n,a:Longint; Function Revers(M:Longint):Longint; var d,p,M1:Longint; Lng,i:Integer; begin Lng:=Trunc(Ln(M)/Ln(10)); {Number of digits-1} p:=1; M1:=0; Repeat d:=M mod 10; for i:=1 to Lng do d:=d*10; M1:=M1+d; M:=M div 10; Lng:=Lng-1; Until M=0; Revers:=M1; end; Function Test_Palindr(M:Longint):Boolean; begin Test_Palindr:=(M=Revers(M)); end; Begin Write(' Max number of digits = '); Readln(n); Write(' a = '); Readln(a); Repeat Writeln(a:10, Revers(a):10); if Test_Palindr(a)=FALSE then a:=a+Revers(a); if Test_Palindr(a) then writeln(a:10); Until Test_Palindr(a) or ((Trunc(Ln(a)/Ln(10))+1)=n); Readln End. |
04.03.2018, 11:46 | #3 (permalink) |
Member
Регистрация: 14.12.2017
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо вам. Я понимаю ,как это выглядит со стороны ,но все же работа над освоением идет ,но не без примера выполненной работы.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|