Переделать: вывести TRUE, если число является степенью числа 3 и FALSE в противном случае - C (СИ)

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

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

Ввести целое число. Вывести TRUE ,если число является степенью числа 3 и FALSE в противном случае.Вот задание
#include <stdio.h>
void main (void)
{
    const int koef=3;
    int a;
    printf("Zapili chislo a: ");
    scanf ("%d", &a);
    int i=1;
    while(1)
    {
        i*=koef;
        if(i==a)
        {
            printf("true\n");
            getch();
            break;
        }
        else if (i > a)
        {
            printf("false\n");
            getch();
            break;
        }
        
     }
     return 0;
}
Вот программка,Препод сказал переделать ее так , чтобы выодилась таблица от 1 до 100 и было написано 1 false,2 false ,3 true и так далее.Помогите пожалуйста

Решение задачи: «Переделать: вывести TRUE, если число является степенью числа 3 и FALSE в противном случае»

textual
Листинг программы
#include <stdio.h>
void Step3(int n)
{ int n0 = n;
    while(n>1) {
       if (n%3) {
         printf("%3d FALSE\n", n0);
         return;
       }
        n /= 3;
    }
    printf("%3d TRUE\n", n0);
}
void main (void)
{ int n;
    for(n=1; n<=100; n++) Step3(n);
}

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

  1. Включаем заголовочный файл stdio.h для использования функций вывода
  2. Определяем функцию Step3, которая принимает целочисленный аргумент n
  3. Инициализируем переменную n0 значением аргумента n
  4. Запускаем цикл while, который выполняется до тех пор, пока n больше 1
  5. Проверяем, делится ли n на 3 без остатка. Если да, то выводим n0 и возвращаем управление
  6. Если n делится на 3, то выполняем деление n на 3 и присваиваем результат переменной n
  7. Если n не делится на 3, то выводим n0 и возвращаем управление
  8. После цикла while выводим n0 и значение TRUE
  9. Определяем функцию main, которая не принимает аргументов
  10. Запускаем цикл for, который выполняется от 1 до 100
  11. Для каждого значения n вызываем функцию Step3
  12. После выполнения всех итераций цикла for программа заканчивается

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


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

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

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