Rəqəmi əvəz edin#2611

Rəqəmi əvəz edin (Həll təhlili)

ədədini bir sətir kimi oxuyacağıq, və rəqəmlərini isə simvollar kimi. sətirində bütün simvolunu simvolu ilə əvəz edəcəyik. Sonra alınmış sətiri başlanğıc sıfırları silib çıxışa verəcəyik. Əgər çıxışda yalnız sıfırlar varsa, sadəcə bir sıfır çap edilməlidir.

Qeyd edək ki, son nəticədəki ədəd int tipinə sığmaya bilər. Məsələn, n = 1000000000~(10^9), a = 1, b = 9 verildikdə, nəticə 9000000000~(9 \cdot 10^9) olacaq.

Alqoritmin icrası

ədədini sətir kimi massivində saxlayırıq.

char s[100];

ədədini sətir kimi, və ədədlərini simvol kimi oxuyuruq.

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

sətirindəki bütün simvollarını simvolu ilə əvəz edirik.

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

sətirini long long tipli ədədinə çeviririk.

res = atoll(s);

Cavabı çıxışa veririk.

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

Alqoritmin icrası — string

Giriş məlumatlarını oxuyuruq: — sətir, və — simvollar.

cin >> s >> a >> b;

sətirindəki bütün simvollarını simvolu ilə əvəz edirik.

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

sətirini long long tipli ədədinə çeviririk.

res = stoll(s);

Cavabı çıxışa veririk.

cout << res << endl;

Java icrası

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 icrası

Giriş məlumatlarını sətir kimi oxuyuruq.

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

sətirindəki bütün simvollarını simvolu ilə əvəz edirik.

s = s.replace(a, b)

sətirini tam ədədə çevirib nəticəni çıxışa veririk.

print(int(s))