• Помогитееееееееееееее!!!!!!!! плиз 50 баллов!!
    Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество элементов массива, восьмеричная запись которого содержит ровно две цифры, причём первая (старшая) цифра меньше второй (младшей).
    const N = 40;
    var
    a: array [1..N] of integer;
    i, j, k: integer;
    begin
    for i := 1 to N do
    readln(a[i]);
    ...
    end.

Ответы 1

  • Всё просто

    Алгоритм:

    for j := 1 to N do

    if (8 <= a[j]) and (a[j] <= 63) and (a[j] div 8 < a[j] mod 8) then k:=k + 1

     

    for j := 1 to N  - перебор всех элементов массива

    (8 <= a[j]) and (a[j] <= 63) - восьмеричная запись чисел от 8₁₀ до 63₁₀  содержит ровно две цифры 

    (a[j] div 8 < a[j] mod 8) - первая (старшая) цифра меньше второй (младшей) при восьмеричная запись чисел от 8₁₀ до 63₁₀

    k:=k + 1 - счётчик количества элементов массива соответствующих условиям

     

    Программа целиком:

    const N=40;

    var a: array [1..N] of integer;

    i, j, k: longint;

    begin

    for i:=1 to N do

    readln(a[i]);

    for j := 1 to N do

    if (8 <= a[j]) and (a[j] <= 63) and (a[j] div 8 < a[j] mod 8) then k:=k + 1;

    writeln('Количество элементов массива, восьмеричная запись которого содержит ровно две цифры, причем первая (старшая) цифра меньше второй (младшей), равно: ',k);

    end.

     

     

     

    • Автор:

      silas
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years