Найти произведение цифр заданного четырехзначного числа

    дали 30 задач, решить в Паскаль, тут люди умнее меня... 1. Найти произведение цифр заданного целого четырехзначного числа. 2. Услуги телефонной сети оплачиваются по следующему правилу: за разговоры до А минут в месяц оплачиваются В р., а разговоры свыше установленной нормы оплачиваются из расчета С р. в минуту. Написать программу, вычисляющую плату за пользование телефоном для введенного времени разговоров за месяц. 3. Определить и вывести на экран номер четверти в которой расположена точка М(х,у). 4. Вычислить значение функции: . 5. Написать программу нахождения суммы большего и меньшего из трех чисел. 6. Вычислить значение функции. 7. Возраст человека условно разделим на детский, юношеский, возраст взрослого человека и возраст пожилого человека. Записать алгоритм и программу, отвечающую на ввод с клавиатуры, например, возраста 15 – «Вы юноша», возраста 65 – «Вы пожилой человек» и т. д. Градации возраста определить самостоятельно. 8. Вывести на экран сообщение в зависимости от введенного значения оценки (по десятибалльной системе), например: 1. . 2: плохо, 3. . 5: удовлетворительно, и т. д. , иначе - неправильный ввод данных. 9. Расход бензина на 100 км пути в среднем составляет 9 л. Составить программу определения стоимости бензина для расстояний 200 км, 400 км, 600 км, 800 км и 1000 км, если цена одного литра равна x руб. 10. Напечатать таблицу перевода миль в километры для расстояний от 5 до 75 миль с шагом 5, если 1 миля составляет 1,609 км. 11. Вычислите: 1*2*3 + 4*5*6 + 7*8*9 +  +43*44*45. 12. Составить программу вычисления куба суммы всех четных чисел от 2 до 100. 13. Составить программу вычисления значения выражения: 14. Определить наименьшее количество четных чисел, начиная с числа 2, сумма которых превысит число R. 15. Вычислить, за сколько лет в сбербанке при начальном вкладе W и процентах годового прироста Р будет накоплена сумма R. 16. Найти все трехзначные числа равные сумме кубов своих цифр. 17. Найти все двузначные числа, сумма квадратов цифр которых кратна 13. 18. Найти сумму индексов наибольшего и наименьшего элементов одномерного массива А(10). 19. Найти сумму всех элементов массива целых чисел, которые меньше среднего арифметического элементов массива. 20. Найти номера элементов массива целых чисел А(40), которые больше первого элемента массива. Если таких элементов нет, выдать сообщение «поиск неудачен». 21. Дан массив С(N,M). Подсчитать сумму положительных чисел в каждой строке массива. 22. Дана квадратная матрица А(10, 10). Определить номер строки этой матрицы с минимальной суммой положительных элементов. 23. Дана квадратная матрица. Подсчитать сумму элементов, значения которых кратны трем и расположенных на побочной диагонали. 24. Дана квадратная матрица. Найти максимальный элемент, среди элементов расположенных на главной диагонали. 25. Написать программу, определяющую, сколько слов в заданной строке оканчивается буквой «а», если известно, что после слова обязательно стоит либо пробел, либо точка. 26. Написать программу получения из заданной строки новой строки путем замены всех символов «а» на «б». 27. Написать программу, проверяющую, является ли заданное слово палиндромом (примеры палиндромов: казак, шалаш, мадам и т.д.) 28. Написать программу, которая подсчитывает, сколько раз среди символов заданной строки встречается буква «F». 29. Написать программу получения из заданной строки новой строки путем удаления всех точек. 30. Составьте программу построения картинки. Ворд архив....с заданиями теме же, просто рисунки тут есть, формулы

Вообще условие задачи уже озвучено в заголовке, но на всякий случай повторю.

Условие задачи

Задача 6.1.2.4
Найти произведение цифр заданного четырехзначного числа

Задача простая, но, судя по количеству запросов в Интернете, далеко не все могут решить её самостоятельно. Вам советую всё-таки попробовать это сделать. А уже потом посмотреть решение.

Как найти произведение цифр числа

Поскольку по условию число является четырёхзначным, то это сильно упрощает нам задачу. Алгоритм решения может быть, например, таким:

  1. Получить на 10. Это будет крайняя правая цифра числа.
  2. Получить остаток от деления на 100 и разделить результат на 10. Это будет вторая справа цифра числа.
  3. Получить остаток от деления на 1000 и разделить результат на 100. Это будет третья справа цифра числа.
  4. Выполнить целое деление на 1000. Это будет первая слева цифра числа.

По идее надо ещё проверить число, которое ввёл пользователь (если, конечно, мы предоставим ему такую возможность).

Так как число является четырёхзначным, то оно не может быть менее 1000 и более 9999. Вот это мы и должны проверить, прежде чем выполнять какие-то действия.

Также число может быть отрицательным. Но про знак числа в условиях задачи ничего не сказано. Поэтому будем считать, что оно положительное (в любом случае цифры числа не могут быть отрицательными, так что даже если допустить, что число будет отрицательным, то на результат это не повлияет, а придётся только добавить дополнительную проверку вхождения числа в диапазон -9999…-1000).

Ну а теперь решения на Паскале и С++.

Решение задачи 6.1.2.4 на Паскале program multinum; //**************************************************************** // ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ //**************************************************************** var Num: ; //Число D0: word; //Крайняя правая цифра числа D1: word; //Вторая справа правая цифра числа D2: word; //Третья справа цифра числа D3: word; //Крайняя левая цифра числа //**************************************************************** // ОСНОВНАЯ ПРОГРАММА //**************************************************************** begin ("Enter a 4-digit integer: "); (Num); //Проверить правильность ввода данных if (Num 9999) then begin WriteLn("The number must be in the range 1000...9999"); ReadLn; ; //Выйти, если данные неправильные end; D0:= Num mod 10; D1:= (Num mod 100) div 10; D2:= (Num mod 1000) div 100; D3:= (Num div 1000); WriteLn("The digits of number:", D3:2, D2:2, D1:2, D0:2); Write(D3, " * ", D2, " * ", D1, " * ", D0, " = "); WriteLn(D3 * D2 * D1 * D0); WriteLn("The end. Press ENTER..."); ReadLn; end.


Решение задачи 6.1.2.4 на С++ #include #include using namespace std; //**************************************************************** // ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ //**************************************************************** unsigned short int Num; //Число unsigned short int D0; //Крайняя правая цифра числа unsigned short int D1; //Вторая справа правая цифра числа unsigned short int D2; //Третья справа цифра числа unsigned short int D3; //Крайняя левая цифра числа //**************************************************************** // ОСНОВНАЯ ПРОГРАММА //**************************************************************** int main(int argc, char *argv) { cout > Num; //Проверить правильность ввода данных if ((Num 9999)) { cout