সোমবার মিনি-গল্ফ: সংক্ষিপ্ত কোড-গল্ফ প্রশ্নের একটি সিরিজ , পোস্ট করা (আশাবাদী!) প্রতি সোমবার।
(দুঃখিত আমি আবার দেরি করেছি; আমি গতকাল এবং আজকের মূলত আমার কম্পিউটার থেকে দূরে ছিলাম))
আমাদের প্রোগ্রামাররা (বিশেষত কোড-গল্ফাররা) স্বেচ্ছাসেবী পূর্ণসংখ্যার ক্রমগুলি পছন্দ করে। আমাদের কাছে এই ক্রমগুলির জন্য নিবেদিত একটি সম্পূর্ণ সাইট রয়েছে যেখানে বর্তমানে প্রায় 200,000 এন্ট্রি রয়েছে। এই চ্যালেঞ্জের মধ্যে আমরা এই সিকোয়েন্সগুলির আরও একটি সেট বাস্তবায়ন করব।
চ্যালেঞ্জ
আপনার চ্যালেঞ্জটি হ'ল এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা কোনও পূর্ণসংখ্যার এন গ্রহণ করে এবং বেস 10 পূর্ণসংখ্যার ক্রম আউটপুট দেয়, যেখানে প্রতিটি পরবর্তী পূর্ণসংখ্যা এইভাবে নির্ধারিত হয়:
- 1 এ শুরু করুন।
পূর্বের পূর্ণসংখ্যার বেস 10 উপস্থাপনায় প্রতিটি ডিজিট ডি এর জন্য:
- যদি ডি 0 হয় তবে বর্তমান সংখ্যায় একটি যুক্ত করুন।
- অন্যথায়, বর্তমান সংখ্যাকে ডি দ্বারা গুণান ।
বিস্তারিত
- আপনি ধরে নিতে পারেন 0 < এন <2 31 ।
- 10 এর চেয়ে কম সংখ্যক সংখ্যক না হওয়া পর্যন্ত আপনাকে প্রতিটি সংখ্যার ক্রমটি ইনপুট নম্বর দিয়ে শুরু করতে হবে।
- আউটপুট একটি অ্যারে বা স্পেস, কমা, নিউলাইনস বা এগুলির সংমিশ্রণ দ্বারা পৃথক একটি স্ট্রিং হতে পারে।
- একটি trailing স্থান এবং / অথবা সম্পর্কে newline অনুমতি নয়, তবে না একটি trailing কমা।
- কোনও শীর্ষস্থানীয় জিরো হওয়া উচিত নয়।
উদাহরণ
উদাহরণ 1: 77
এই উদাহরণটি মোটামুটি সহজবোধ্য:
77 = 1*7*7 = 49
49 = 1*4*9 = 36
36 = 1*3*6 = 18
18 = 1*1*8 = 8
সুতরাং, সঠিক আউটপুট হয় 77 49 36 18 8
।
উদাহরণ 2: 90
আমাদের এখানে আছে:
90 = 1*9+1 = 10
10 = 1*1+1 = 2
সুতরাং আউটপুট হবে 90 10 2
।
উদাহরণ 3: 806
বাম থেকে ডান সমীকরণগুলি পড়ুন:
806 = 1*8+1*6 = 54 (((1*8)+1)*6)
54 = 1*5*4 = 20
20 = 1*2+1 = 3
আউটপুট হওয়া উচিত 806 54 20 3
।
টেস্ট-মামলা
প্রতিটি লাইনের প্রথম সংখ্যাটি হ'ল ইনপুট এবং সম্পূর্ণ লাইনটি প্রত্যাশিত আউটপুট।
77 49 36 18 8
90 10 2
249 72 14 4
806 54 20 3
1337 63 18 8
9999 6561 180 9
10000 5
8675309 45369 3240 25 10 2
9999999 4782969 217728 1568 240 9
1234567890 362881 2304 28 16 6
একটি রেফারেন্স হিসাবে, এখানে 10 থেকে 100 পর্যন্ত যথাযথ পরবর্তী পূর্ণসংখ্যা রয়েছে:
Current | Next
--------+-----
10 | 2
11 | 1
12 | 2
13 | 3
14 | 4
15 | 5
16 | 6
17 | 7
18 | 8
19 | 9
20 | 3
21 | 2
22 | 4
23 | 6
24 | 8
25 | 10
26 | 12
27 | 14
28 | 16
29 | 18
30 | 4
31 | 3
32 | 6
33 | 9
34 | 12
35 | 15
36 | 18
37 | 21
38 | 24
39 | 27
40 | 5
41 | 4
42 | 8
43 | 12
44 | 16
45 | 20
46 | 24
47 | 28
48 | 32
49 | 36
50 | 6
51 | 5
52 | 10
53 | 15
54 | 20
55 | 25
56 | 30
57 | 35
58 | 40
59 | 45
60 | 7
61 | 6
62 | 12
63 | 18
64 | 24
65 | 30
66 | 36
67 | 42
68 | 48
69 | 54
70 | 8
71 | 7
72 | 14
73 | 21
74 | 28
75 | 35
76 | 42
77 | 49
78 | 56
79 | 63
80 | 9
81 | 8
82 | 16
83 | 24
84 | 32
85 | 40
86 | 48
87 | 56
88 | 64
89 | 72
90 | 10
91 | 9
92 | 18
93 | 27
94 | 36
95 | 45
96 | 54
97 | 63
98 | 72
99 | 81
100 | 3
আপনি এই তালিকাটি এখানে 10000 এ প্রসারিত খুঁজে পেতে পারেন ।
স্কোরিং
এটি কোড-গল্ফ , তাই বাইট জেতে সংক্ষিপ্ততম বৈধ কোড। টাইব্রেকার সাবমিশনে যায় যা তার চূড়ান্ত বাইট গণনাটি প্রথম পৌঁছেছিল। বিজয়ী আগামী সোমবার 19 অক্টোবর নির্বাচন করা হবে। শুভকামনা!
সম্পাদনা: আপনার বিজয়ীকে অভিনন্দন, @ আইস্যাক , আবার 14 টি বাইটের জন্য পাইথটি ব্যবহার করে !
|*GHhG
একটি বাইট ওভার সাশ্রয়?H*GHhG
।