• Предмет: Информатика
  • Автор: julesvv
  • Вопрос задан 2 месяца назад

Написати програму мовою с#, яка за трьома введеними числами визначає те, яке містить найбільшу кількість одиниць у своєму записі.

Ответы

Ответ дал: gottdeaq
1

Ответ:

using System;

class Program {

   static void Main(string[] args) {

       Console.WriteLine("Введіть три числа:");

       int num1 = int.Parse(Console.ReadLine());

       int num2 = int.Parse(Console.ReadLine());

       int num3 = int.Parse(Console.ReadLine());

       int maxOnesCount = 0;

       int maxOnesNum = 0;

       // перевіряємо кожне число на наявність одиниць у записі

       for (int i = 1; i <= 3; i++) {

           int onesCount = CountOnes(i == 1 ? num1 : i == 2 ? num2 : num3);

           // якщо кількість одиниць більша, ніж попередній максимум, то зберігаємо номер числа

           if (onesCount > maxOnesCount) {

               maxOnesCount = onesCount;

               maxOnesNum = i;

           }

       }

       Console.WriteLine($"Найбільша кількість одиниць міститься в числі {maxOnesNum}");

   }

   // функція для підрахунку кількості одиниць у числі

   static int CountOnes(int num) {

       int count = 0;

       while (num > 0) {

           if (num % 2 == 1) {

               count++;

           }

           num /= 2;

       }

       return count;

   }

}

Вас заинтересует