С# 1) Цикл while Дано число. Визначити, чи є це число степенем двійки. 2) Цикл do/while...

0 голосов
86 просмотров

С# 1) Цикл while Дано число. Визначити, чи є це число степенем двійки. 2) Цикл do/while Скласти програму-гру «Більше-Менше». Комп’ютер генерує випадкове ціле число, а користувач намагається вгадати згенероване число. Комп’ютер надає користувачу підказку, чи є введене число більшим або меншим від загаданого. Також з клавіатури вводиться максимальна кількість спроб.


Информатика (128 баллов) | 86 просмотров
Дан 1 ответ
0 голосов

1)

using System;

class Program {

   static void Main() {

       int num = 16;

       bool isPow2 = true;

       

       while (num > 1){

           if (num % 2 == 0){

               num /= 2;

           } else {

               isPow2 = false;

               break;

           }

       }

       

       if (isPow2)

           Console.WriteLine("Является");

       else

           Console.WriteLine("Не является");

   }

}

2)

using System;

class Program {

   static Random rnd = new Random();

   

   static void Main() {

       int min = 1;

       int max = 100;

       int numOfAttempts = 8;

       int x = rnd.Next(min, max);

       bool isWin = false;

       

       Console.WriteLine("Игра \"Больше-Меньше\"");

       Console.Write("Задайте число попыток: ");

       numOfAttempts = Convert.ToInt32(Console.ReadLine());

       Console.WriteLine("Отгадайте число от {0} до {1}", min, max);

       Console.WriteLine("Попытки: {0}\n", numOfAttempts);

       int input;

       do {

           Console.Write("Введите число: ");

           input = Convert.ToInt32(Console.ReadLine());

           numOfAttempts--;

           if (input > x)

               Console.WriteLine("x < {0}   [попытки: {1}]", input, numOfAttempts);

           if (input < x)

               Console.WriteLine("x > {0}   [попытки: {1}]", input, numOfAttempts);

           if (input == x){

               isWin = true;

               break;

           }

       } while (numOfAttempts > 0);

       

       if (isWin){

           Console.WriteLine("\nПобеда!");

       } else {

           Console.WriteLine("\nПроигрыш! Загаданное число: {0}", x);

       }

   }

}

(4.3k баллов)