Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 26.09.2018
Сообщений: 108
1
.NET 4.x

Дано целое число N (> 0). Если оно является степенью числа 3, то вывести True, если не является — вывести False

12.12.2018, 17:46. Просмотров 4237. Ответов 7
Метки нет (Все метки)

Дано целое число N (> 0). Если оно является степенью числа 3, то вывести True, если не
является — вывести False.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2018, 17:46
Ответы с готовыми решениями:

While4°. Дано целое число N (> 0). Если оно является степенью числа 3, то вывести true, если не является — вывести false.
While. Дано целое число N (> 0). Если оно является степенью числа 3, то вывести true, если не...

Дано целое число N(>0). Если оно является степенью числа 3, то вывести TRUE, если не является-вывести FALSE.
Дано целое число N(>0). Если оно является степенью числа 3, то вывести TRUE, если не...

Дано целое число N>0, если оно является степенью числа 3 то вывести TRUE, если нет - FALSE
Дано целое число N>0, если оно является степенью числа 3 то вывести TRUE, если нет - FALSE

Дано целое число N>0.Если оно являеться степенью числа 3, то вывести True,если не являеться-вывести false.
:(ПОМОГИТЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕ!!!!!!!!!!!!!

__________________

Записывайтесь на профессиональные курсы С#-разработчиков‌
7
Эксперт Pascal/Delphi
6618 / 4451 / 4739
Регистрация: 05.06.2014
Сообщений: 21,871
12.12.2018, 19:46 2
Определить, является ли заданное число степенью тройки
0
19 / 11 / 8
Регистрация: 19.11.2015
Сообщений: 60
13.12.2018, 12:19 3
Лучший ответ Сообщение было отмечено Zevkiel как решение

Решение

А такой вариант не подойдет?
C#
1
2
3
4
5
6
7
8
9
10
11
12
int N = 0; 
while (N<=0) 
{ 
    N = Convert.ToInt32(Console.ReadLine()); 
} 
int a = 3; 
bool flag = false;          
if (Math.Log(N)%Math.Log(a) == 0) 
    flag = true; 
else 
    flag = false; 
Console.WriteLine(flag);
0
Модератор
9102 / 6391 / 1779
Регистрация: 21.04.2018
Сообщений: 18,991
Записей в блоге: 2
13.12.2018, 13:06 4
Цитата Сообщение от dyra_salva Посмотреть сообщение
А такой вариант не подойдет?
Если делать, то так
C#
1
2
3
4
5
6
7
            uint N = 0;
            Console.Write("Введите положительное целое число: ");
            while (!uint.TryParse(Console.ReadLine(), out N) || N == 0)
                Console.Write("Ошибка ввода! Введите положительное целое число: ");
            uint a = 3;
            for (; N != 1 && N % a == 0; N /= a) ;
            Console.WriteLine(N == 1);
0
19 / 11 / 8
Регистрация: 19.11.2015
Сообщений: 60
13.12.2018, 13:13 5
Цитата Сообщение от Элд Хасп Посмотреть сообщение
C#
1
2
for (; N != 1 && N % a == 0; N /= a) ;
Console.WriteLine(N == 1);
А можете об этом месте рассказать детальнее? Ну или дать направление, где я могу найти материалы по такой форме записи.
0
Модератор
9102 / 6391 / 1779
Регистрация: 21.04.2018
Сообщений: 18,991
Записей в блоге: 2
13.12.2018, 13:28 6
Цитата Сообщение от dyra_salva Посмотреть сообщение
А можете об этом месте рассказать детальнее? Ну или дать направление, где я могу найти материалы по такой форме записи.
Не совсем понял вопроса.... По циклу for ?
В скобках указывается три выражения разделённых ";".
Первое выражение инициализация цикла. Нам в данном случае не нужно. Поэтому ни чего не указываем.
Второе выражение - логическое. Очередной цикл выполняется, если оно истинно. В нашем случае, если число не равно единице и оно без остатка делится на а, то цикл надо выполнить.
Третье выражение, выполняется после окончания очередного цикла. В нашем случае, это целочисленное деление на а.
После оператора for(....) пишется оператор, который должен выполняться в цикле. В нашем случае ничего в теле цикла нет, поэтому просто ";".
После выхода из цикла, мы получаем в N результат последовательного его целочисленного деления на а. Так как любая степень а делится последовательно на а без остатка до единицы, то на выходе просто проверяем N на равенство единице.
Прогоните цикл пошагово F11 в дебагере и посмотрите как он работает с разными начальными значениями.
1
19 / 11 / 8
Регистрация: 19.11.2015
Сообщений: 60
13.12.2018, 13:38 7
Цитата Сообщение от Элд Хасп Посмотреть сообщение
инициализация цикла. Нам в данном случае не нужно. Поэтому ни чего не указываем.
Цитата Сообщение от Элд Хасп Посмотреть сообщение
оператор, который должен выполняться в цикле. В нашем случае ничего в теле цикла нет, поэтому просто ";".
Просто впервые сталкиваюсь с тем, что там можно ничего не писать за ненадобностью (если условие позволяет).

Цитата Сообщение от Элд Хасп Посмотреть сообщение
на выходе просто проверяем N на равенство единице.
То есть для проверки истинности не заводим отдельную переменную? (о как бывает).

Спасибо за наглядный пример разнообразных вещей.
0
Модератор
9102 / 6391 / 1779
Регистрация: 21.04.2018
Сообщений: 18,991
Записей в блоге: 2
13.12.2018, 13:47 8
Цитата Сообщение от dyra_salva Посмотреть сообщение
Просто впервые сталкиваюсь с тем, что там можно ничего не писать за ненадобностью (если условие позволяет).
Во многих языках эти выражения обязательны, но C# позволяет так. Просто книжки обычно пишутся по шаблону, взяли методичку по какому-то языку и адаптируют её к C#, поэтому многие особенности, нюансы пропускаются.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2018, 13:47

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Если число является степенью числа 3, то вывести True, если не является – вывести False
3.Дано целое число N(&gt;0). Если оно является степенью числа 3, то вывести True, если не является –...

Если число является степенью числа 3, то вывести True, если нет, то False
Дано целое число N (&gt; 0). Если оно есть степенью числа 3, то вывести TRUE, если нет, то False...

Цикл: Если число ялвляется степенью числа 3, то вывести TRUE а если не является - False
помогите задачку на паскале решить через while!!!!!!!!!! Дано целое число N (&gt;0). Если оно...

Если число является степенью числа 3, то вывести true, иначе false
У меня есть код паскаля uses crt; var n,k:integer; begin clrscr; repeat write('Введите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.