Определить, является ли натуральное число n степенью числа 3 - C (СИ)

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

Определить, является ли натуральное число n степенью числа 3

Код к задаче: «Определить, является ли натуральное число n степенью числа 3 - C (СИ)»

textual
#include <stdio.h>
 
typedef enum { false, true } bool;
 
bool is_pow_3(unsigned num)
{
    if(num < 3 && num != 1)
        return false;
    while(num % 3 == 0)
        num /= 3;
    return num == 1;
}
 
int main(void)
{
    unsigned int num;
 
    puts("If your number is not ending in 1,3,7,9, it is not a power of 3!\nOtherwise, enter your number");
    scanf("%d",&num);
 
    if(is_pow_3(num))
        puts("Yes!");
    else
        puts("No number is not a degree of 3");
 
    return 0;
}

13   голосов, оценка 3.923 из 5


СОХРАНИТЬ ССЫЛКУ