Напишите программу 19

Сообщения
1,532
Реакции
271
Веб-сайт
tehadm.ru
Даны два числа. Определить цифры, входящие в запись как первого, так и второго числа.

Входные данные
Программа получает на вход два числа. Гарантируется, что цифры в числах не повторяются. Числа в пределах от 0 до 10000.

Выходные данные
Программа должна вывести цифры, которые имеются в обоих числах, через пробел. Цифры выводятся в порядке их нахождения в первом числе.

Sample Input:
564 8954

Sample Output:
5 4
 
Алгоритм следующий:
  1. Получаем два числа num1 и num2.
  2. Первое число переворачиваем.
  3. Начинаем сравнивать первое число со вторым, начиная с последних цифр.
  4. Сравнил цифру, удаляем ее и так далее.
  5. Все получилось три цикла: 1 - переворачивает, 2 - отвечает за первое число, 3 - вложен во второй и отвечае за второе число.

C-like:
package main

import "fmt"

func main() {
    var num1, num2, res int
    fmt.Scan(&num1, &num2)

    for num1 > 0 {
        remainder := num1 % 10
        res = res*10 + remainder
        num1 /= 10
    }

    for res > 0 {
        numS1 := res % 10
        res /= 10

        numS2 := num2

        for numS2 > 0 {
            if numS2%10 == numS1 {
                fmt.Print(numS1, " ")
            }
            numS2 /= 10
        }
    }
}
 
Последнее редактирование:
Назад
Сверху Снизу