Вывести все трехзначные числа, сумма цифр которого равна А и число кратно В - C (СИ)
Формулировка задачи:
Листинг программы
- #include<stdio.h>
- #include<conio.h>
- #include<math.h>
- main()
- {int a, b, x, i=0, j=0, k=0;
- clrscr();
- printf("Vvedite a");
- scanf("%i", &a);
- printf("Vvedite b");
- scanf("%i", &b);
- x=100;
- i=fdiv(x,1);
- j=fdiv(x,10);
- k=fdiv(x,100);
- x+=1;
- while (x<=999)
- for(x=100;x<1000;x++);
- {if (fmod(x,b)=0) if (a=i+j+k) printf("x=%i", x);
- }
- getch()
- }
Решение задачи: «Вывести все трехзначные числа, сумма цифр которого равна А и число кратно В»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #define dec ( 10 )
- #define p ( 3 )
- int main() {
- int m[ p ] = { 123, 456, 789 };
- size_t i = 0, tmp, cnt;
- while ( i < p ) {
- cnt = p;
- tmp = 0;
- while ( cnt-- ) {
- tmp += m[ i ] % dec;
- m[ i ] /= dec;
- }
- m[ i++ ] = tmp;
- }
- i = 0;
- while ( i < p )
- printf( "%4i", m[ i++ ] );
- puts("");
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и математическими операциями.
- Определение двух констант: dec (10) - сумма цифр трехзначных чисел кратна 10, p (3) - количество трехзначных чисел в массиве.
- Создание массива m размером p, содержащего трехзначные числа.
- Переменная i инициализируется нулем, tmp - аккумулятором суммы цифр, cnt - счетчиком количества итераций в цикле.
- В цикле while (i < p) происходит вычисление суммы цифр текущего трехзначного числа и разделение числа на декаду (10).
- Внутренний цикл while (cnt--) выполняет перебор всех цифр текущего числа, суммируя их и уменьшая значение cnt на единицу.
- После завершения внутреннего цикла, полученная сумма цифр сохраняется в аккумулятор tmp.
- После завершения внешнего цикла, значение аккумулятора tmp заменяет текущее число в массиве m, а значение i увеличивается на единицу.
- После завершения цикла, в цикле while (i < p) происходит вывод на экран всех трехзначных чисел, сумма цифр которых кратна 10.
- В конце программы возвращается 0, сигнализируя о успешном завершении работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д