Распечатать числа в диапазоне от 1 до N, у которых произведение первой и второй цифры справа равны числу M - C (СИ)

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

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

Решаются две задачи: первая по Вашему варианту, вторая со сдвигом 8. Решение двух задач реализовать в одной программе. В диалоговом режиме вводится некоторое число N (В диапазоне от 1 до 2000). Программа должна вывести числа, определенные заданием в виде нескольких колонок, выровненных по правому краю. Все числа от 1 до N натуральные. Примечание: первая задача реализуется на основе оператора "for", а вторая – оператора "while". Комментарии в программе обязательны.

1) Распечатать числа в диапазоне от 1 до N, у которых произведение первой и второй цифры справа равны числу M.

.
завтра экзамен нужна эта программапомогите пожалуйста

Решение задачи: «Распечатать числа в диапазоне от 1 до N, у которых произведение первой и второй цифры справа равны числу M»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <locale.h>
 
int main(int argc, char *argv[]) {
    setlocale(LC_ALL, "ru_RU.UTF-8");
    
    int size;
    int num;
    
    fwprintf(stdout, L"Введите размер массива натуральных чисел: ");
    fwscanf(stdin, L"%d", &size);
    fwprintf(stdout, L"Введите число: ");
    fwscanf(stdin, L"%d", &num);
    
    unsigned int array[size];
    unsigned int i;
    
    for(i = 0; i < size; ++i) {
        array[i] = i + 1;
    }
    
    int n1, n2;
    unsigned int j;
    for(i = 9, j = 1; i < size; ++i) {
        n1 = array[i] % 10; // первая цифра справа
        n2 = (array[i] / 10) % 10; // вторая цифра справа
        
        if(num == (n1 * n2)) {
            if(j % 5) { // печать в 5 столбиков
                fwprintf(stdout, L"%6d", array[i]);
            } else {
                fwprintf(stdout, L"%6d\n", array[i]);
            }
            
            ++j;
        }
    }
    
    if(--j % 5)
        fwprintf(stdout, L"\n");
    
    return EXIT_SUCCESS;
}

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

  1. Подключение необходимых библиотек для работы с консолью и вводом/выводом данных
  2. Установка локали на русский язык
  3. Ввод размера массива натуральных чисел и числа M
  4. Создание массива натуральных чисел размером введенным пользователем
  5. Заполнение массива натуральными числами от 1 до N
  6. Поиск чисел в массиве, у которых произведение первой и второй цифры справа равно числу M
  7. Печать найденных чисел в 5 столбиков на каждой итерации
  8. Печать разрыва в виде символа новой строки после каждого пятого числа
  9. Возвращение успешного завершения программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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