Замінити цифру#2611

Замінити цифру (Розбір)

Прочитаємо число як рядок, а цифри і як символи. Замінимо в рядку всі входження символу на символ . Потім виведемо отриманий рядок, видаливши провідні нулі. Якщо підсумковий рядок складається тільки з нулів, слід вивести один нуль.

Відзначимо, що результуюче число може не вміщатися в тип int. Наприклад, якщо n = 1000000000~(10^9), a = 1, b = 9, то результатом буде число 9000000000~(9 \cdot 10^9).

Реалізація алгоритму

Число як рядок зберігаємо в масиві .

char s[100];

Читаємо число як рядок, числа і як символи.

scanf("%s %c %c",s,&a,&b);

Замінюємо в рядку всі входження символу на символ .

for (i = 0; i < strlen(s); i++)
  if (s[i] == a) s[i] = b;

Перетворюємо рядок в число типу long long.

res = atoll(s);

Виводимо відповідь.

printf("%lld\n", res);

Реалізація алгоритму — string

Читаємо вхідні дані: — рядок, і — символи.

cin >> s >> a >> b;

Замінюємо в рядку всі входження символу на символ .

replace(s.begin(), s.end(), a, b);

Перетворюємо рядок в число типу long long.

res = stoll(s);

Виводимо відповідь.

cout << res << endl;

Java реалізація

import java.util.*;

public class Main 
{
  public static void main(String[] args) 
  {
    Scanner con = new Scanner(System.in);
    String s = con.next();
    char a = con.next().charAt(0);
    char b = con.next().charAt(0);
    s = s.replace(a,b);
 
    int flag = 0;
    for(int i = 0; i < s.length(); i++)
    if (s.charAt(i) != '0')
    {
      s = s.substring(i);
      flag = 1;
      break;
    }
    if (flag == 0) s = "0";
    System.out.println(s);
    con.close();
  }
}

Python реалізація

Читаємо вхідні дані у вигляді рядків.

s, a, b = input().split()

Замінюємо в рядку всі входження символу на символ .

s = s.replace(a, b)

Перетворюємо рядок в ціле число і виводимо результат.

print(int(s))