Jadi saya memutuskan untuk mengambil pemrograman kompetitif di CodeChef. Saya melihat masalah untuk dicoba. Tapi saya terus mendapatkan kesalahan runtime (NZEC) dan saya tidak tahu mengapa karena saya pikir kesalahan itu hanya terjadi ketika saya memanggil item array di luar batas dan loop tak berujung yang memakan terlalu banyak memori.
Masalah
1.) Dapatkan 2 input A dan B
2.) Batasannya: 1 ≤ B ‹ A ≤ 10000
3.) Lalu saya kerjakan A-B dan ubah satu digit jawaban
4.) Lalu saya kembalikan
Catatan: Batas Waktu adalah 1 detik, ukuran kode sumber maksimal 50.000 byte
e.g
input A >> 95
input B >> 50
output >> 35
Jawaban sebenarnya adalah 45 tetapi kami bermaksud mengubah satu digit jawabannya
Jadi ini solusi saya
from random import randint
test1 = True
test2 = True
while test1:
A = int(input("Enter a number: "))
if (A>=1) and (A<=10000):
test1 = False
else:
print("Number must be greater or equal to 1 and less than or equalts to 10,000")
while test2:
B = int(input("Enter a second number: "))
if (B>=1) and (B<=10000) and (B<A):
test2 = False
else:
print("Number must follow rules as above BUT must be less than your first")
solution = str(A-B)
range1 = randint(0, len(solution)-1)
range2 = randint(0,9)
replacement = list(range(0,10))
new_solution = solution.replace(solution[range1], str(replacement[range2]))
print(new_solution)