|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Delphi 7. Целочисленная арифметика
Дано натуральное число N (N>9). Определить количество нулей, идущих подряд в младших разрядах данного числа. Пример: N = 1020000. Количество нулей равно четырем.
|
#2
|
||||
|
||||
А младшие разряды - это скока чисел справа?
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
Цитата:
Зделал для Delphi если нужно для паскаля надеюсь сам зделаеш Код:
procedure TForm1.Button1Click(Sender: TObject); begin C:=0; Q:=0; // Обнуляем значения для многоразового ввода edit1.Clear; A:=length(edit1.Text); // Вычесляем сколько символов содержит edit for B := a downto 0 do begin //считаем в обратном порядке if (edit1.Text[b]='0') and (C<>1) then begin Q:=q+1; end else C:=1; // чтобы не выполнялось условия и счетчик не считал дальше end; label1.Caption:=inttostr(q); // вывожу значение счетчика в label Последний раз редактировалось Admin, 28.04.2009 в 10:29. |
#4
|
|||
|
|||
Можно обойтись без строк.
Код:
procedure TForm1.Button1Click(Sender: TObject); var Number: Cardinal; ZeroCount: Byte; begin Number := StrToInt(Edit1.Text); ZeroCount := 0; while (Number mod 10 = 0) do begin Number := Number div 10; Inc(ZeroCount); end; ShowMessage(IntToStr(ZeroCount) + ' terminal zero(s) present!'); end; |