Предмет: Информатика,
автор: geforce75
ДРУЗЬЯ, ПОМОГИТЕ, ПОЖАЛУЙСТА НАПИСАТЬ В JAVA. Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае. Формат входных данных Вводится натуральное число. Формат выходных данных Выведите ответ на задачу. Sample Input 1: 1 Sample Output 1: YES Sample Input 2: 2 Sample Output 2: YES
Ответы
Автор ответа:
0
import java.util.Scanner;
class Main {
public static void main(String [ ] args) {
// Инициализация нужных переменных
Scanner sn = new Scanner(System.in);
double n = sn.nextInt();
boolean ts = false;
// До тех пор, пока n > 1 и n != 2, будет находится его корень. Если в один момент корень будет = 2, то выведется "YES"
while(n > 1) {
n = Math.sqrt(n);
if(n == 2) {
ts = true;
break;
}
}
if(ts) {
System.out.print("YES");
}
else {
System.out.print("NO");
}
}
}
vovapecherscky:
Я, вроде, всё понятно объяснил, поэтому, пожалуйста, поставьте "Лучший ответ"
Похожие вопросы
Предмет: Русский язык,
автор: evpak01
Предмет: Английский язык,
автор: polinajust
Предмет: Английский язык,
автор: fedosjulia
Предмет: Литература,
автор: Gutop
Предмет: Химия,
автор: iam23