Задача - Вывести количество делителей и делители числа
- программирование на разных языках

Задача — Вывести количество делителей и делители числа — программирование на разных языках

Задачи по программированию с решением для школьников
Want create site? Find Free WordPress Themes and plugins.


Задача — Вывести количество делителей и делители числа
— программирование на Pascal, Си, Кумир, Basic-256, Python

В введенном промежутке натуральных чисел найти те, количество делителей у которых не меньше введенного значения. Для найденных чисел вывести на экран количество делителей и все делители.

Пользователь вводит числовой промежуток — минимальное (a) и максимальное (b) числа. После этого запрашивается искомое количество делителей.

Во внешнем цикле перебираются натуральные числа от a до b. При этом в конце каждой итерации a увеличивается на 1, тем самым приближаясь к b.

В теле внешнего цикла вводится счетчик (m) количества делителей очередного натурального числа. Далее во внутреннем цикле перебираются числа (i) от 1 до a. Если i делит нацело a, то счетчик увеличивается на 1.

После этого значение счетчика сравнивается с требуемым количеством делителей. Если у очередного натурального числа не меньше делителей, чем требуется, то оно и количество делителей выводятся на экран. После этого в цикле снова ищутся делители, но теперь уже они просто выводятся на экран.

Pascal var
    a,b,n,m,i: word;
 
begin
    write(’Числовой промежуток: ‘);
    readln(a,b);
    write(’Количество делителей не менее… ‘);
    readln(n);
    while a <= b do begin
        m := 0;
        for i:=1 to a do
            if a mod i = 0 then m := m + 1;
        if m >= n then begin
            write(a,’ — ‘, m,’ — ‘);
            for i:=1 to a do
                if a mod i = 0 then write(i,’ ‘);
            writeln;
        end;
        a := a + 1;
    end;
end. Числовой промежуток: 21 44
Количество делителей не менее… 5
24 — 8 — 1 2 3 4 6 8 12 24
28 — 6 — 1 2 4 7 14 28
30 — 8 — 1 2 3 5 6 10 15 30
32 — 6 — 1 2 4 8 16 32
36 — 9 — 1 2 3 4 6 9 12 18 36
40 — 8 — 1 2 4 5 8 10 20 40
42 — 8 — 1 2 3 6 7 14 21 42
44 — 6 — 1 2 4 11 22 44 Язык Си #include <stdio.h>
main() {
    unsigned int a,b,m,n,i;
    printf("Числовой промежуток: ");
    scanf("%d%d",&a,&b);
    printf("Минимальное количество делителей: ");
    scanf("%d",&n);
    while (a <= b) {
        m = 0;
        for (i=1; i<=a; i++)
            if (a%i == 0) m += 1;
        if (m >= n) {
            printf("%d — %d — ", a, m);
            for (i=1; i<=a; i++)
                if (a%i == 0) printf("%d ", i);
            printf("n");
        }
        a += 1;
    }
} Числовой промежуток: 343 434
Минимальное количество делителей: 20
360 — 24 — 1 2 3 4 5 6 8 9 10 12 15 18 20 24 30 36 40 45 60 72 90 120 180 360
420 — 24 — 1 2 3 4 5 6 7 10 12 14 15 20 21 28 30 35 42 60 70 84 105 140 210 420
432 — 20 — 1 2 3 4 6 8 9 12 16 18 24 27 36 48 54 72 108 144 216 432 Python a = int(input("Минимум: "))
b = int(input("Максимум: "))
n = int(input("Минимальное количество делителей: "))
while a <= b:
    m = 0
    for i in range(1,a+1):
        if a%i == 0:
            m += 1
    if m >= n:
        print(a,’-‘,m,end=’ — ‘)
        for i in range(1,a+1):
            if a%i == 0:
                print(i,end=’ ‘)
        print()
    a += 1 Минимум: 45
Максимум: 66
Минимальное количество делителей: 7
48 — 10 — 1 2 3 4 6 8 12 16 24 48
54 — 8 — 1 2 3 6 9 18 27 54
56 — 8 — 1 2 4 7 8 14 28 56
60 — 12 — 1 2 3 4 5 6 10 12 15 20 30 60
64 — 7 — 1 2 4 8 16 32 64
66 — 8 — 1 2 3 6 11 22 33 66 Basic-256 input "Минимум: ", a
input "Максимум: ", b
input "Минимальное количество делителей: ", n
while a <= b
        m = 0
        for i=1 to a
                if a%i = 0 then m = m + 1
        next i
        if m >= n then
                print a + " — " + m + " — ";
                for i=1 to a
                        if a%i = 0 then print i + " ";
                next i
                print
        endif
        a = a + 1
endwhile Минимум: 150
Максимум: 177
Минимальное количество делителей: 12
150 — 12 — 1 2 3 5 6 10 15 25 30 50 75 150
156 — 12 — 1 2 3 4 6 12 13 26 39 52 78 156
160 — 12 — 1 2 4 5 8 10 16 20 32 40 80 160
168 — 16 — 1 2 3 4 6 7 8 12 14 21 24 28 42 56 84 168

Did you find apk for android? You can find new Free Android Games and apps.

Добавить комментарий