Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2015, 18:21   #1
aliya28
 
Регистрация: 29.01.2015
Сообщений: 3
По умолчанию Числа Капрекара

Здравствуйте. Срочно нужна помощь в написании программы по выводу чисел Капрекара. Я начала писать код, но не могу написать теперь цикл
Код:
program a1;

var 
   i, j, z,a: shortint;
begin
   writeln('Введите число: ');
   readln(i);
   a:=i;
  
   while i <> 0 do
  begin
    j := j * 10 + i mod 10;
    i := i div 10;  
  end;
   writeln(j);
   z:=a-j;
  writeln(z);
  
  readln;
end.
Цикл должен сравнивать z с 9 если равно выводить i, если не равен должен опять делать операцию которая написана. Подсткажжите так куда же вставить цикл?

Последний раз редактировалось Stilet; 29.01.2015 в 20:28.
aliya28 вне форума Ответить с цитированием
Старый 29.01.2015, 20:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Прикольно :
Код:
program Project1;



function Kaprekar(n:integer):integer;
var q,w:array[1..10] of integer; a,b,e,l,j,i:integer;
begin
  j:=n; l:=1;

  while j>0 do begin
    q[l]:=j mod 10; w[l]:=q[l];
    j:=j div 10;
    inc(l);
  end;
  dec(l);
  for i:=1 to l do for j:=1 to l do begin
   if q[i]<q[j] then  begin e:=q[i];q[i]:=q[j];q[j]:=e;end;
   if w[i]>w[j] then  begin e:=w[i];w[i]:=w[j];w[j]:=e;end;
  end;

  a:=q[1];for i:=2 to l do begin a:=a*10+q[i]; end;
  b:=w[1];for i:=2 to l do begin b:=b*10+w[i]; end;
  if a>b then result:=a-b else result:=b-a;
end;

var i,n:integer;
begin
 n:=8326;
 for i:=1 to 10 do begin
  n:=Kaprekar(n); writeln(n);
 end;
 readln;
end.
Ох уж эти нумеронафты...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать программу,имеющая процедуру,кторая в производном текстовом файле,которая имеет слова и числа,изменяющая все числа числа,ме Fingergod Паскаль, Turbo Pascal, PascalABC.NET 0 13.12.2012 20:08
Задачи в ТурбоПаскаль: найти числа Армстронга и просуммировать числа в последовательности номера которых простые числа Lena1808 Помощь студентам 1 17.05.2012 08:00
Задані цілі числа від 1 до 100.Надрукувати в порядку зростання усі числа що можна подати у вигляді 7*i*j+j+3, де i,j - цілі числа. Саша513 Паскаль, Turbo Pascal, PascalABC.NET 0 16.05.2012 18:45
Постоянная Капрекара (Delphi) ДрАгОцЕнНоСтЬ Помощь студентам 1 04.12.2010 15:57
Вычислить:у=а*(в*в*в)*с,где а,в,с-двоичные числа.Для хранения числа использ.массив! Таняпервокурсница Помощь студентам 4 04.06.2010 12:08