a-zotova
?>

Сделать в с++ в трехзначном числе x зачеркнули его последнюю цифру. когда в оставшемся двузначном числе переставили цифры, а затем приписали к ним слева последнюю цифру числа x, то получилось число n. по заданному n найти число x (значение n вводится с клавиатуры, 1 ≤ n ≤ 999 и при этом число единиц в n не равно нулю

Информатика

Ответы

maxborod
В программе предполагается, что "0" (если это средняя цифра числа) не отбрасывается.
Например: 105 ⇒ 10 ⇒ 01 ⇒ 501 (а не 105 ⇒ 10 ⇒ 1 ⇒ 51).#include <iostream>
using namespace std;

int main()
{
    int n,n1,n2,n3,x;
    cin >> n;
    n1 = n / 100;
    n2 = n / 10 % 10;
    n3 = n % 10;
    x = n3*100+n2*10+n1;
    cout << x <<endl;
    system("pause");
}

Пример:
21
120
zipylin
Код для проверки

def Avtomat(chislo)
    s = chislo.to_s

    if s.length == 4
        s = s[0..-2] + "1"
    end
    if s.length == 3
        s = (2*(s[0].to_i)).to_s + s[1..-1]
    end

    sym = [9,0,1,2,3,4,5,6,7,8]
    s_new = ""
    for k in 0..s.size - 1
        s_new += sym[s[k].to_i].to_s
    end

    return s_new.to_i
end

for i in 100..9999
    r = Avtomat(i)
    p [i,r] if [159, 261, 1916, 1120, 820, 105, 5100, 9410].include?(r)
end

Вывод
[116, 105]
[160, 159]
[616, 105]
[660, 159]
[1930, 820]
[1931, 820]
[1932, 820]
[1933, 820]
[1934, 820]
[1935, 820]
[1936, 820]
[1937, 820]
[1938, 820]
[1939, 820]
[2230, 1120]
[2231, 1120]
[2232, 1120]
[2233, 1120]
[2234, 1120]
[2235, 1120]
[2236, 1120]
[2237, 1120]
[2238, 1120]
[2239, 1120]
[6210, 5100]
[6211, 5100]
[6212, 5100]
[6213, 5100]
[6214, 5100]
[6215, 5100]
[6216, 5100]
[6217, 5100]
[6218, 5100]
[6219, 5100]

В перечисленное не попали числа 261 1916 9410

Но если брать что "Автомат получает на вход трёхзначное десятичное число", т.е 4 значные не подаются на вход то не войдут числа
261 1916 1120 820 5100 9410
Less2014
Код для проверки

def Avtomat(chislo)
    s = chislo.to_s

    if s.length == 4
        s = s[0..-2] + "1"
    end
    if s.length == 3
        s = (2*(s[0].to_i)).to_s + s[1..-1]
    end

    sym = [9,0,1,2,3,4,5,6,7,8]
    s_new = ""
    for k in 0..s.size - 1
        s_new += sym[s[k].to_i].to_s
    end

    return s_new.to_i
end

for i in 100..9999
    r = Avtomat(i)
    p [i,r] if [159, 261, 1916, 1120, 820, 105, 5100, 9410].include?(r)
end

Вывод
[116, 105]
[160, 159]
[616, 105]
[660, 159]
[1930, 820]
[1931, 820]
[1932, 820]
[1933, 820]
[1934, 820]
[1935, 820]
[1936, 820]
[1937, 820]
[1938, 820]
[1939, 820]
[2230, 1120]
[2231, 1120]
[2232, 1120]
[2233, 1120]
[2234, 1120]
[2235, 1120]
[2236, 1120]
[2237, 1120]
[2238, 1120]
[2239, 1120]
[6210, 5100]
[6211, 5100]
[6212, 5100]
[6213, 5100]
[6214, 5100]
[6215, 5100]
[6216, 5100]
[6217, 5100]
[6218, 5100]
[6219, 5100]

В перечисленное не попали числа 261 1916 9410

Но если брать что "Автомат получает на вход трёхзначное десятичное число", т.е 4 значные не подаются на вход то не войдут числа
261 1916 1120 820 5100 9410

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Сделать в с++ в трехзначном числе x зачеркнули его последнюю цифру. когда в оставшемся двузначном числе переставили цифры, а затем приписали к ним слева последнюю цифру числа x, то получилось число n. по заданному n найти число x (значение n вводится с клавиатуры, 1 ≤ n ≤ 999 и при этом число единиц в n не равно нулю
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

mupmalino2653
troyasport
ИвановичБогословский280
maroseyka
david-arustamyan1
komarov-dmitriy
avon-central
Анатольевна
Федоровна-Васильева
izumrud153
Romanovich1658
Ingakazakova
det-skazka55
Бирюков Карпова1379
Alexander2035