Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

задачка на паскале

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> задачка на паскале
Имя
Сообщение << Старые топики   Новые топики >>
задачка на паскале - 2007-12-15 19:04:13.033333   
gotoxardas

Сообщений: 842
Оценки: 0
Присоединился: 2007-05-25 08:15:21.840000
Вот решил порешать задачки на паскале. Начал с такой(когда то выкладывалась на хакере но без решения)

Найти такое число которое бы при умножении на числа от 2 до 8 равнялось самому себе наоборот
Например, 214365 х 3 = 563412 - тут пример приведен не верно а так что бы понять общай смысл что от проги требуется
Вот я тут код писанул а он чет не фуричит. Через дебагер забарился гонять. Ошибки найти не могу. Помогите кто шарит!

uses crt; var a,a1:array[1..10] of longint; b,b1:array[1..10] of longint; s:string; i,j:longint; m,n,n1,x,x1:longint; k,k1,q,kr,i1:longint; procedure invert; begin str(k,s); for i1:=1 to length(s) do begin a[i1]:=k mod 10; k:=k div 10; end; end; procedure revert; begin for i1:=1 to length(s) do begin n:=length(s)-i1+1; b[i1]:=a[n]; end; end; procedure invert1; begin str(k1,s); for i1:=1 to length(s) do begin a1[i1]:=k1 mod 10; k1:=k1 div 10; end; end; begin clrscr; k1:=1; repeat x:=x+1; k:=x; kr:=x; invert; revert; for i:=2 to 8 do begin k1:=kr*i; invert1; for j:=1 to length(s) do begin if b[j]=a1[j] then m:=m+1 else m:=0; end; end; if m=length(s) then begin writeln(x,' ',k1); q:=q+1; end; until q=1; writeln; writeln; writeln(x); repeat until keypressed; end.
Post #: 1
RE: задачка на паскале - 2007-12-15 20:17:51.263333   
kreol

Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666
А не пробовал пользоваться локальными переменнами? Может и вопросы сразу исчезнут.
Post #: 2
RE: задачка на паскале - 2007-12-15 20:33:32.746666   
gotoxardas

Сообщений: 842
Оценки: 0
Присоединился: 2007-05-25 08:15:21.840000
все уже дописал все
оказывается таких чисел не существует
существует только числа при умножении на 9
Вот что осилил мой комп за 5 минут
1089
10989
109989
1099989
10891089
10999989
108901089
109999989
Post #: 3
RE: задачка на паскале - 2007-12-15 20:41:35.406666   
gotoxardas

Сообщений: 842
Оценки: 0
Присоединился: 2007-05-25 08:15:21.840000
вот сам код
uses crt; var a,a1:array[1..10] of longint; b,b1:array[1..10] of longint; s:string; i,j:longint; m,n,n1,x,x1:longint; k,k1,q,kr,i1:longint; procedure invert; begin str(k,s); for i1:=1 to length(s) do begin a[i1]:=k mod 10; k:=k div 10; end; end; procedure revert; begin for i1:=1 to length(s) do begin n:=length(s)-i1+1; b[i1]:=a[n]; end; end; procedure invert1; begin str(k1,s); for i1:=1 to length(s) do begin a1[i1]:=k1 mod 10; k1:=k1 div 10; end; end; begin clrscr; repeat x:=x+1; k:=x; kr:=x; str(x,s); invert; revert; for i:=1 to 9 do begin k1:=kr*i; invert1; m:=0; for j:=1 to length(s) do begin if b[j]=a1[j] then m:=m+1 else m:=0; end; end; if m=length(s) then begin writeln(x,' ',k1); q:=q+1; end; until q=5; writeln; writeln; writeln(x); repeat until keypressed; end.
Post #: 4
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> задачка на паскале







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.