Найти количество делителей каждого из целых чисел от 190 до 210 (отформатировать вывод результата) - C (СИ)
Формулировка задачи:
Ребят , помогите , не могу сделать аккуратный вывод столбцов в проге , все сделал кроме столбцов , вот условие задачи
/////Найти количество делителей каждого из целых чисел от 190 до 210. Вывести результат в
виде следующей таблицы (столбец «Делители» содержит по четыре числа в строке)
Число Делители Кол.дел.
99 3, 9, 11, 33 4
100 2, 4, 5, 10,
20, 25, 50 7
101 ... ...
Определить наибольшее число из данного интервала, у которого количество делителей
максимально./////
Вот код:
#include <stdio.h> int main(void) { int i, i1, n, d, c; n=0; d=420; c=0; printf("Chislo Deliteli Kol.del.\n");//по десять пробелов for (i=400; i<=420; i++){ printf("%d ", i); for(i1=2; i1<=i/2; i1++){ if (i%i1==0){ n+=1; if ((n-1)%4==0 && (n-1)!=0){ printf(", "); printf("\n ");}//десять пробелов else if (n>1) {printf(", ");} printf("%3d", i1);}} printf(" ");//десять пробелов printf("%d\n", n); if (n<=d && n!=0){ d=n; c=i;} n=0; } printf("\nNaibolshee chislo s minimalnim kol-vom deliteley: %d\n\n", c); return 0; }
Решение задачи: «Найти количество делителей каждого из целых чисел от 190 до 210 (отформатировать вывод результата)»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #define N 190 #define M 210 int main() { int i, j, count = 0, max = 0, x = 0; puts("Number: Divisors: Divisors quantity:"); for(i = N; i <= M; i++){ printf("%4d ", i); for(j = 2, count = 0; j * 2 <= i; j++){ if(i % j == 0){ printf("%4d", j); count++; } } for(int k = count; k < 16; k++) printf(" "); printf("%4d\n", count); if(count > max){ max = count; x = i; } } printf("\nnumber %d has the greatest number of divisors: %d\n", x, max); return 0; }
Объяснение кода листинга программы
- Объединение двух заголовочных файлов:
и . - Установка значений для переменных: N=190, M=210.
- Создание переменных: i, j, count, max, x.
- Вывод шапки таблицы:
Number: Divisors: Divisors quantity:
. - Организация двух циклов: внешний - перебирает числа от N до M включительно; внутренний - перебирает делители текущего числа от 2 до самого числа.
- Проверка делимости числа на текущий делитель.
- Вывод делителей текущего числа.
- Вывод дополнительных пустых столбцов для количества делителей.
- Вывод количества делителей текущего числа.
- Обновление максимального количества делителей и нахождения числа с максимальным количеством делителей.
- Вывод сообщения о числе с наибольшим количеством делителей.
- Завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д