
Пожалуйста! Срочно !! Язык Раскаль !!!! Дано неотрицательное число N - количество элементов массива
(N<=100). Напишите программу, которая заполняет массив из N элементов первыми натуральными трехзначными числами, произведение цифр которых есть трехзначное число. Выведите заполненный массив на экран в одну строку, отделяя элементы друг от друга одним пробелом. PascalABC

Ответы на вопрос

Ответ:
Объяснение:
var N, i, z: integer;
var d: array of integer; // объявляем массив
var a: integer := 100; // первое трехзначное натуральное число 100
begin
writeln('Введите N (N <= 100)');
readln(N); // вводим длину массива
d := new integer[N]; // выделяем память под массив
while (i < N) do begin
z := (a div 100)*(a mod 10)*((a div 10) mod 10);
if ((z > 99) AND (z < 1000)) then begin
d[i] := a; // заносим число в массив
i += 1; // увеличиваем счетчик на 1
end;
a += 1; // увеличиваем число на 1
end;
for var j := 0 to N-1 do write(d[j], ' '); // выводим данные массива
end.



Код на языке PascalABC:
``` program ThreeDigitNumbers;
const n = 100; // количество элементов массива
var arr: array[1..n] of integer; // объявление массива i, num: integer; prod: integer;
function isThreeDigitNumber(num: integer): boolean; begin if (num >= 100) and (num <= 999) then isThreeDigitNumber := true else isThreeDigitNumber := false; end;
function isProductThreeDigitNumber(num: integer): boolean; var digit1, digit2, digit3: integer; begin digit1 := num mod 10; // единицы digit2 := (num div 10) mod 10; // десятки digit3 := (num div 100) mod 10; // сотни prod := digit1 * digit2 * digit3; if (prod >= 100) and (prod <= 999) then isProductThreeDigitNumber := true else isProductThreeDigitNumber := false; end;
begin num := 100; // начальное значение трехзначного числа
for i := 1 to n do begin while (not isThreeDigitNumber(num)) or (not isProductThreeDigitNumber(num)) do num := num + 1; arr[i] := num; num := num + 1; end;
for i := 1 to n do write(arr[i], ' '); end. ```
Данная программа заполняет массив `arr` из `n` элементов первыми натуральными трехзначными числами, произведение цифр которых также является трехзначным числом.
Сначала, мы объявляем `n` как константу, равную 100, так как в условии задачи указано, что `n <= 100`. Затем, объявляем массив `arr` размером `n`.
Затем, мы создаем две вспомогательные функции `isThreeDigitNumber` и `isProductThreeDigitNumber`. - `isThreeDigitNumber` проверяет, является ли число трехзначным (от 100 до 999) и возвращает `true` или `false`. - `isProductThreeDigitNumber` проверяет, является ли произведение цифр числа трехзначным числом (от 100 до 999). Если да, функция также сохраняет произведение цифр в переменную `prod`.
Затем, мы инициализируем переменную `num` значением 100, так как первое трехзначное число, удовлетворяющее условию, это 100. Затем, с помощью цикла `for` заполняем массив `arr` трехзначными числами, удовлетворяющими условиям. При каждой итерации, мы увеличиваем значение `num` на 1 до тех пор, пока не найдем подходящее число.
В конце, мы выводим заполненный массив `arr` на экран, разделяя элементы одним пробелом.
Примечание: Код написан на языке PascalABC. Для компиляции и запуска данного кода вам может понадобиться среда разработки, поддерживающая PascalABC, например, среда Lazarus.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili