Найти натуральные числа делящихся нацело на заданные числа и находящихся в заданном интервале - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Найти 20 первых натуральных чисел, делящихся нацело на 13 или на 17, и находящихся в интервале, левая граница которого равна 500

Решение задачи: «Найти натуральные числа делящихся нацело на заданные числа и находящихся в заданном интервале»

textual
Листинг программы
#include <bool.h>
#include <stdio.h>
 
bool is_correct(int x) {
    return (x % 13 == 0) || (x % 17 == 0);
}
 
int find_next_correct(int n) {
    while (!is_correct(++n))
        ;
    return n;
}
 
int main(void) {
    int n = 500;
    for (int i = 0; i < 20; i++) {
        printf("%d\n", n = find_next_correct(n));
    }
    return 0;
}

Объяснение кода листинга программы

В этом коде:

  1. Находится число, которое нацело делится на 13 или 17 Функция is_correct принимает целое число x и возвращает true, если x делится нацело на 13 или 17, иначе возвращает false. Используется оператор % для проверки остатка от деления.
  2. Находится следующее число, которое нацело делится на 13 или 17 Функция find_next_correct принимает целое число n и возвращает следующее целое число n, которое нацело делится на 13 или 17. Используется цикл while, чтобы продолжать увеличивать n, пока не будет найдено следующее число, которое нацело делится на 13 или 17. Оператор ! используется для инвертирования значения функции is_correct, чтобы цикл продолжался, пока is_correct(n) не станет true.
  3. Выводятся 20 чисел, которые нацело делятся на 13 или 17 В функции main создается переменная n со значением 500. Затем используется цикл for, чтобы вывести 20 чисел, которые нацело делятся на 13 или 17, используя функцию find_next_correct для увеличения значения n. Значение n передается в функцию printf для вывода на консоль. В конце функции main возвращается 0, что означает успешное выполнение программы.

Оцени полезность:

10   голосов , оценка 4.2 из 5
Похожие ответы