Программа проверки, состоит ли число из одинаковых цифр

В мире программирования существует множество увлекательных задач, требующих тщательного анализа и творческого подхода. Одной из таких интересных задач является проверка, состоит ли число из одинаковых цифр. Эта задача включает в себя разработку эффективного алгоритма, способного определить уникальность каждой цифры в числе и выявить, состоит ли оно из однотипных элементов. В нашей статье мы глубоко исследуем программы проверки, состоит ли число из одинаковых цифр.

C++

Пример программы на C++, которая проверяет, состоит ли число из одинаковых цифр:

#include <iostream>
#include <unordered_set>

bool hasSameDigits(int number) {
    std::unordered_set<int> digits;

    while (number > 0) {
        int digit = number % 10;

        if (digits.find(digit) != digits.end()) {
            // Цифра уже встречалась, значит, число не состоит из одинаковых цифр
            return false;
        }

        digits.insert(digit);
        number /= 10;
    }

    // Если мы дошли сюда, значит, все цифры уникальны
    return true;
}

int main() {
    int number;

    // Ввод числа
    std::cout << "Введите число: ";
    std::cin >> number;

    // Проверка
    if (hasSameDigits(number)) {
        std::cout << "Число состоит из одинаковых цифр.\n";
    } else {
        std::cout << "Число не состоит из одинаковых цифр.\n";
    }

    return 0;
}

Программа использует хэш-таблицу (std::unordered_set) для отслеживания уникальных цифр в числе. Если программа обнаруживает повторение цифры, она сразу же возвращает false, указывая на то, что число не состоит из одинаковых цифр. Если весь цикл завершается без обнаружения повторений, то число состоит из одинаковых цифр.

C#

using System;
using System.Collections.Generic;

class Program
{
    static bool HasSameDigits(int number)
    {
        HashSet<int> digits = new HashSet<int>();

        while (number > 0)
        {
            int digit = number % 10;

            if (digits.Contains(digit))
            {
                // Цифра уже встречалась, значит, число не состоит из одинаковых цифр
                return false;
            }

            digits.Add(digit);
            number /= 10;
        }

        // Если мы дошли сюда, значит, все цифры уникальны
        return true;
    }

    static void Main()
    {
        try
        {
            Console.Write("Введите число: ");
            int number = int.Parse(Console.ReadLine());

            // Проверка
            if (HasSameDigits(number))
            {
                Console.WriteLine("Число состоит из одинаковых цифр.");
            }
            else
            {
                Console.WriteLine("Число не состоит из одинаковых цифр.");
            }
        }
        catch (FormatException)
        {
            Console.WriteLine("Ошибка: Введите корректное целочисленное значение.");
        }
    }
}

Программа использует HashSet для отслеживания уникальных цифр в числе. Если программа обнаруживает повторение цифры, она сразу же возвращает false, указывая на то, что число не состоит из одинаковых цифр. Если весь цикл завершается без обнаружения повторений, то число состоит из одинаковых цифр.

Python

def has_same_digits(number):
    digits = set()

    while number > 0:
        digit = number % 10

        if digit in digits:
            # Цифра уже встречалась, значит, число не состоит из одинаковых цифр
            return False

        digits.add(digit)
        number //= 10

    # Если мы дошли сюда, значит, все цифры уникальны
    return True

def main():
    try:
        number = int(input("Введите число: "))

        # Проверка
        if has_same_digits(number):
            print("Число состоит из одинаковых цифр.")
        else:
            print("Число не состоит из одинаковых цифр.")
    except ValueError:
        print("Ошибка: Введите корректное целочисленное значение.")

if __name__ == "__main__":
    main()

Программа использует множество (set) для отслеживания уникальных цифр в числе. Если программа обнаруживает повторение цифры, она сразу возвращает False, указывая на то, что число не состоит из одинаковых цифр. Если весь цикл завершается без обнаружения повторений, то число состоит из одинаковых цифр.

Java

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class SameDigitsCheck {
    static boolean hasSameDigits(int number) {
        Set<Integer> digits = new HashSet<>();

        while (number > 0) {
            int digit = number % 10;

            if (digits.contains(digit)) {
                // Цифра уже встречалась, значит, число не состоит из одинаковых цифр
                return false;
            }

            digits.add(digit);
            number /= 10;
        }

        // Если мы дошли сюда, значит, все цифры уникальны
        return true;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        try {
            System.out.print("Введите число: ");
            int number = scanner.nextInt();

            // Проверка
            if (hasSameDigits(number)) {
                System.out.println("Число состоит из одинаковых цифр.");
            } else {
                System.out.println("Число не состоит из одинаковых цифр.");
            }
        } catch (java.util.InputMismatchException e) {
            System.out.println("Ошибка: Введите корректное целочисленное значение.");
        } finally {
            scanner.close();
        }
    }
}

Pascal

program SameDigitsCheck;

var
  number, digit, tempNumber: Integer;
  digits: set of Integer;

function HasSameDigits(number: Integer): Boolean;
begin
  digits := [];

  while number > 0 do
  begin
    digit := number mod 10;

    if digit in digits then
    begin
      // Цифра уже встречалась, значит, число не состоит из одинаковых цифр
      Exit(False);
    end;

    Include(digits, digit);
    number := number div 10;
  end;

  // Если мы дошли сюда, значит, все цифры уникальны
  Result := True;
end;

begin
  Write('Введите число: ');
  Readln(number);

  // Проверка
  if HasSameDigits(number) then
    Writeln('Число состоит из одинаковых цифр.')
  else
    Writeln('Число не состоит из одинаковых цифр.');
end.

Программа использует множество (set of Integer) для отслеживания уникальных цифр в числе. Если программа обнаруживает повторение цифры, она сразу возвращает False, указывая на то, что число не состоит из одинаковых цифр. Если весь цикл завершается без обнаружения повторений, то число состоит из одинаковых цифр.

JavaScript

function hasSameDigits(number) {
    let digits = new Set();

    while (number > 0) {
        let digit = number % 10;

        if (digits.has(digit)) {
            // Цифра уже встречалась, значит, число не состоит из одинаковых цифр
            return false;
        }

        digits.add(digit);
        number = Math.floor(number / 10);
    }

    // Если мы дошли сюда, значит, все цифры уникальны
    return true;
}

function main() {
    try {
        let number = parseInt(prompt("Введите число:"));

        // Проверка
        if (hasSameDigits(number)) {
            console.log("Число состоит из одинаковых цифр.");
        } else {
            console.log("Число не состоит из одинаковых цифр.");
        }
    } catch (error) {
        console.error("Ошибка: Введите корректные целочисленные значения.");
    }
}

main();

Программа использует объект Set для отслеживания уникальных цифр в числе. Если программа обнаруживает повторение цифры, она сразу возвращает false, указывая на то, что число не состоит из одинаковых цифр. Если весь цикл завершается без обнаружения повторений, то число состоит из одинаковых цифр.

PHP

<?php

function hasSameDigits($number) {
    $digits = [];

    while ($number > 0) {
        $digit = $number % 10;

        if (in_array($digit, $digits)) {
            // Цифра уже встречалась, значит, число не состоит из одинаковых цифр
            return false;
        }

        $digits[] = $digit;
        $number = (int)($number / 10);
    }

    // Если мы дошли сюда, значит, все цифры уникальны
    return true;
}

try {
    $number = (int)readline("Введите число: ");

    // Проверка
    if (hasSameDigits($number)) {
        echo "Число состоит из одинаковых цифр.\n";
    } else {
        echo "Число не состоит из одинаковых цифр.\n";
    }
} catch (Error $e) {
    echo "Ошибка: Введите корректные целочисленные значения.\n";
}
?>

Программа использует массив для отслеживания уникальных цифр в числе. Если программа обнаруживает повторение цифры, она сразу возвращает false, указывая на то, что число не состоит из одинаковых цифр. Если весь цикл завершается без обнаружения повторений, то число состоит из одинаковых цифр.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Давайте поможем друг другу! Если вы нашли ошибку или хотите предложить лучшее решение, пожалуйста, напишите об этом в комментариях.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *