ধরুন আমাদের একটি মান n আছে। আমাদের ১ থেকে n পর্যন্ত সংখ্যাগুলোর ডেসিমেল, অক্টাল, হেক্সাডেসিমেল এবং বাইনারি সমতুল্য চারটি আলাদা কলামে প্রিন্ট করতে হবে। আমরা জানি, সংখ্যাগুলো d, o, X, b প্রিফিক্স ক্যারেক্টার দিয়ে এক্সপ্রেস করা যায় ডেসিমেল, অক্টাল, হেক্সাডেসিমেল এবং বাইনারি uchun।
উদাহরণস্বরূপ, যদি ইনপুট n = 10 হয়, তবে আউটপুট হবে:
1 1 1 1 2 2 2 10 3 3 3 11 4 4 4 100 5 5 5 101 6 6 6 110 7 7 7 111 8 10 8 1000 9 11 9 1001 10 12 A 1010
সমাধানের ধাপসমূহ
l := len(bin(n)) - 2(বাইনারি রিপ্রেজেন্টেশনের দৈর্ঘ্য)for i in range 1 to n:f := ""- প্রতিটি ক্যারেক্টার
cইন"doXb"এর জন্য:- যদি
fখালি না হয়, তবেf += " " f += "{:>" + str(l) + c + "}"
- যদি
f.format(i, i, i, i)প্রিন্ট করুন
উদাহরণ
নিচের ইমপ্লিমেন্টেশনটি দেখুন ভালো বুঝার জন্য:
def solve(n):
l = len(bin(n)) - 2
for i in range(1, n + 1):
f = ""
for c in "doXb":
if f:
f += " "
f += "{:>" + str(l) + c + "}"
print(f.format(i, i, i, i))
n = 10
solve(n)
ইনপুট
10
আউটপুট
1 1 1 1 2 2 2 10 3 3 3 11 4 4 4 100 5 5 5 101 6 6 6 110 7 7 7 111 8 10 8 1000 9 11 9 1001 10 12 A 1010