powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Turbo Pascal : задачка
10 сообщений из 10, страница 1 из 1
Turbo Pascal : задачка
    #32962071
Yaра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дано натуральное число n, определить количество цифр в числе n и сумму всех его цифр. Значение n ввести с клавиатуры.

Для вычисления суммы цифр использую последовательное деление числа "n" без остатка и с остатком, т.е.

Begin
Writeln ('Введите число n');
Read (n);
x1:= (n mod 10);
x2:= (n div 10) mod 10;
x3:= (n div 100) mod 10;
x4:= (n div 1000);
sum:=x1+x2+x3+x4;
writeln ('sum= ', sum);
read;
end.

А как определить количество цифр в числе? И подскажите, как будет выглядеть эта программа, если число "n" m-значное число.
...
Рейтинг: 0 / 0
Turbo Pascal : задачка
    #32962108
aZm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переведи число в строку и получи ее длину. Это простейший вариант.

---
Vae victis!
...
Рейтинг: 0 / 0
Turbo Pascal : задачка
    #32962617
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если операция (n div k) дает результат меньше 10-и, то ты дошел до старшего разряда числа и делить болше не надо.
n вводимое число, k принимает значения 10, 100, 1000, .......
...
Рейтинг: 0 / 0
Turbo Pascal : задачка
    #32962685
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кол-во цифр - это логарифм по основанию 10, округленный до ближайшего верхнего целого. Одна строчка кода.
...
Рейтинг: 0 / 0
Turbo Pascal : задачка
    #32963183
Фотография VidmakCase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
begin
  WriteLn ('Введите число n');
  Read (n);
  repeat 
    Sum:= Sum + (n mod  10 );
    Count:=Count+ 1 ;
    n:=n div  10 ;
  until n= 0 ;
  WriteLn ('Sum= ', sum);
  WriteLn ('Count=  ', Count);
  Read;
end.
...
Рейтинг: 0 / 0
Turbo Pascal : задачка
    #32963217
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sum:= Sum*10 + (n mod 10);
...
Рейтинг: 0 / 0
Turbo Pascal : задачка
    #32963223
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUsSum:= Sum*10 + (n mod 10);
мимо кассы
...
Рейтинг: 0 / 0
Turbo Pascal : задачка
    #32963231
Фотография VidmakCase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs NotGonnaGetUsSum:= Sum*10 + (n mod 10);
мимо кассы

Я что то не понял... Или я просто не выспался?
...
Рейтинг: 0 / 0
Turbo Pascal : задачка
    #32964498
Шогал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VidmakCase NotGonnaGetUs NotGonnaGetUsSum:= Sum*10 + (n mod 10);
мимо кассы

Я что то не понял... Или я просто не выспался?
Было 8. Как из него сделать 82? Восьмерку умножить на 10 и прибавить 2 =)
...
Рейтинг: 0 / 0
Turbo Pascal : задачка
    #32964603
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VidmakCase NotGonnaGetUs NotGonnaGetUsSum:= Sum*10 + (n mod 10);
мимо кассы

Я что то не понял... Или я просто не выспался?
:)
всё в порядке, я глупость написал.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Turbo Pascal : задачка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]