Даны два натуральных числа одинаковой десятичной разрядности. Сформировать из них третье...

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

Даны два натуральных числа одинаковой десятичной разрядности. Сформировать из них третье число так, чтобы цифры первого числа стояли на нечетных местах третьего, а цифры второго – на четных. При этом порядки следования цифр сохраняются. Например, при вводе 1234 и 5678 про-грамма должна выдать ответ 15263748.
Нужно написать программу


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

// F#
let rec getNumberFromConsole _ =
    let str = System.Console.ReadLine()
    let mutable number = 0
    if System.Int32.TryParse(str, &number)
        then number
        else getNumberFromConsole null
let rec getCommonNumber number1 number2 commonNumber multiplier =
    if number1 > 0 && number2 > 0
        then getCommonNumber (number1 / 10) (number2 / 10) (commonNumber + (number1 % 10) * 10 * multiplier + (number2 % 10) * multiplier) (multiplier * 100)
        else commonNumber
[]
let main argv =
    let number1 = getNumberFromConsole null
    let number2 = getNumberFromConsole null
    let result = getCommonNumber number1 number2 0 1
    System.Console.WriteLine result
    System.Console.ReadKey true |> ignore
    0

(1.4k баллов)