Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
1 / 1 / 1
Регистрация: 01.10.2015
Сообщений: 36
1

"Выделение" цифр случайного числа, нахождение делителей числа с помощью циклов While и Repeat

01.10.2015, 13:13. Показов 638. Ответов 4
Метки нет (Все метки)

Дано случайное число. Найти произведение цифр этого числа.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2015, 13:13
Ответы с готовыми решениями:

Нахождение делителей "длинного" числа
Дано число 12 тыс. символов. Необходимо найти все его делители. Подскажите как делать. Обязательно...

Генерация случайного числа от 100 до 1000 (последняя цифра числа должна быть "5")
Как с генерировать случайное число от 100 до 1000 при этом число всегда должно заканчиваться на 5.?

Верно ли что сумма цифр числа больше числа "к", а само число четное
Здравствуйте,форумчане. помогите решить задачку: Дано число н натуральное. Верно ли что сумма его...

Числа Армстронга (Найти все натуральные числа, не превосходящие заданного "N" и равные сумме кубов своих цифр)
Выводит последнее число, надо все.

4
1642 / 1071 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
01.10.2015, 14:39 2
Pascal
1
2
3
4
Function MulCif(A : Longint) : Longint;  {A>0}
Begin
  If A>0 then MulCif:=(A mod 10)*MulCif(A div 10) else MulCif:=1;
end;
0
13 / 13 / 18
Регистрация: 08.01.2015
Сообщений: 53
01.10.2015, 14:48 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var
  a, c, i, err, otv: integer;
  b, d: string;
 
begin
  otv := 1;
  writeln('введите число');
  readln(a);
  str(a, b);
  repeat 
    i := i + 1;
    d := copy(b, i, 1);
    val(d, c, err);
    otv := otv * c;
  until i = length(b);
  writeln('ответ - ', otv);
end.
0
1642 / 1071 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
01.10.2015, 17:41 4
vovachuk, я уже заметил Вашу любовь переводить "всё" в строки... но это далеко не всегда оправдано - целочисленные операции работают быстрее операций со строками.

Добавлено через 2 минуты
Полный код от меня:
Pascal
1
2
3
4
5
...
Begin
  Randomize;
  Writeln(MulCif(Random(999999)));
end.
, но без вывода самого случайного числа - ТС-у это будет домашним заданием.

Добавлено через 7 минут
Кстати, vovachuk, если уж Вы так любите строки, то вот Вам для изучения и размышления Ваш же код, но оптимизированный:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var
  a, i, otv : integer;
  b         : string;
 
begin
  otv := 1;
  writeln('введите число >0 : ');
  readln(a);
  str(a, b);
  For i:=1 to Length(b) do otv := otv * (Ord(b[i])-Ord('0'));
  writeln('ответ - ', otv);
end.
1
13 / 13 / 18
Регистрация: 08.01.2015
Сообщений: 53
02.10.2015, 01:09 5
спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2015, 01:09

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Найти количество делителей случайного числа, больших числа k
Помогите решить 1. Найти количество делителей случайного числа, больших числа k 2. Среди всех...

Встречается ли среди k первых цифр дробной части вещественного числа "a" заданная цифра "b"?
Определить, есть ли среди k-первых цифр дробной части вещественного числа a заданная цифра b. ...

Дано натуральное число. Найти сумму последних "n" цифр "n" числа, не применяя переменых значений
Здравствуйте, помогите написать две программы. 1) Дано натуральное число. Найти сумму последних...

Определить, верно ли, что произведение цифр натурального числа меньше "а", а само число делится на "b"?
Дано натуральное число. Определить, верно ли, что произведение его цифр меньше а, а само число...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.