Переделать: вывести TRUE, если число является степенью числа 3 и FALSE в противном случае - C (СИ)
Формулировка задачи:
Ввести целое число. Вывести TRUE ,если число является
степенью числа 3 и FALSE в противном случае.Вот задание
Вот программка,Препод сказал переделать ее так , чтобы выодилась таблица от 1 до 100 и было написано 1 false,2 false ,3 true и так далее.Помогите пожалуйста
#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; }
Решение задачи: «Переделать: вывести 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); }
Объяснение кода листинга программы
- Включаем заголовочный файл stdio.h для использования функций вывода
- Определяем функцию Step3, которая принимает целочисленный аргумент n
- Инициализируем переменную n0 значением аргумента n
- Запускаем цикл while, который выполняется до тех пор, пока n больше 1
- Проверяем, делится ли n на 3 без остатка. Если да, то выводим n0 и возвращаем управление
- Если n делится на 3, то выполняем деление n на 3 и присваиваем результат переменной n
- Если n не делится на 3, то выводим n0 и возвращаем управление
- После цикла while выводим n0 и значение TRUE
- Определяем функцию main, которая не принимает аргументов
- Запускаем цикл for, который выполняется от 1 до 100
- Для каждого значения n вызываем функцию Step3
- После выполнения всех итераций цикла for программа заканчивается
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д