Количество кратных чисел от 2 до 99 числам от 2 до 9

Задача

В диапазоне натуральных чисел от 2 до 99 определить, сколько из них кратны любому из чисел в диапазоне от 2 до 9.

Пояснение к задаче и алгоритм решения

Необходимо проверить кратность каждого числа сначала числу 2, потом 3 и т.д. до 9 включительно. Введем массив с восьмью ячейками. В первую будем записывать количество чисел кратных 2, во вторую - 3 и т.д.

  1. Записать в ячейки массива нули.
  2. Перебирая числа от 2 до 99,
    1. для каждого из них в цикле от 2 до 9
      1. проверять кратность числа внешнего цикла числу внутреннего.
      2. Если второе число делит нацело первое, значит увеличивать на 1 значение в соответствующей ячейке массива.
  3. Вывести индексы и соответствующие им значения из массива.

Исходный код на языке программирования Pascal

var
    a: array[2..9] of byte;
    i,j: byte;
begin
    for i:=2 to 9 do a[i] := 0;
    for i:=2 to 99 do
        for j:=2 to 9 do
            if i mod j = 0 then
                a[j] := a[j] + 1;
    for i:=2 to 9 do
        writeln(i,' - ', a[i]);
end

Пример(ы) выполнения программы на языке Pascal

2 - 49
3 - 33
4 - 24
5 - 19
6 - 16
7 - 14
8 - 12
9 - 11

Исходный код на языке программирования C

#include <stdio.h>
main() {
    int a[8], i, j;
    for (i=0; i<9; i++) a[i] = 0;
    for (i=2; i<100; i++)
        for (j=2; j<10; j++)
            if (i%j == 0) a[j-2] += 1;
    for (i=0; i<8; i++)
        printf("%d - %d\n", i+2, a[i]);
}

Исходный код на языке программирования Python

a = [0]*8
for i in range(2,100):
    for j in range(2,10):
        if i%j == 0:
            a[j-2] += 1
i = 0
while i < len(a):
    print(i+2, ' - ', a[i])
    i += 1

Пример(ы) выполнения программы на языке Python

2  -  49
3  -  33
4  -  24
5  -  19
6  -  16
7  -  14
8  -  12
9  -  11

Исходный код на языке программирования КуМир

алг кратность
нач
  цел таб a[2:9]
  цел j,i
  нц для i от 2 до 9
    a[i] := 0
  кц
  нц для j от 2 до 99
    нц для i от 2 до 9
      если mod(j,i) = 0 то a[i]:=a[i]+1 все
    кц
  кц
  нц для i от 2 до 9
    вывод i, " - ", a[i], нс
  кц
кон

Исходный код на языке программирования Basic

dim a(8)
for i=2 to 99
        for j=2 to 9
                if i%j = 0 then
                        a[j-2] = a[j-2] + 1
                endif
        next j
next i
 
for i=0 to 7
        print (i+2) + " - " + a[i]
next i

Тема

Массивы

Уровень сложности

Средний

Дата публикации