কেউ না, দয়া করে!


20

আমি অঙ্কটি একেবারে ঘৃণা করি 1। সুতরাং, সংখ্যাগুলি তাদের "যথাযথ ফর্মগুলিতে রূপান্তর করতে আমার আপনার সহায়তা দরকার।

যথাযথ আকারে নম্বরগুলিতে কখনও 1একনাগাড়ে দুটি থাকে না । 101ঠিক আছে, তবে 110ঘৃণ্য।

রূপান্তর করতে, কেবল সমস্ত অনুপযুক্ত সংখ্যা এড়িয়ে যান এবং সাধারণত গণনা করুন। এই ক্ষেত্রে...

1 -> 1
2 -> 2
...
10 -> 10
11 -> 12
12 -> 13
...
108 -> 109
109 -> 120
110 -> 121
111 -> 122

ইত্যাদি।

আপনার প্রোগ্রামটি একটি পূর্ণসংখ্যার নেওয়া উচিত এবং সঠিক ফর্ম এ এটি আউটপুট। এটি , তাই বাইট জেতে সংক্ষিপ্ততম কোড।


1
ইনপুট উপর একটি উপরের আবদ্ধ আছে?
lirtosiast

2
আমি 109 -> 120রূপান্তর পাই না ...
kirbyfan64sos

4
@ kirbyfan64sos যেহেতু 108 মানচিত্র 109, 109-তে পরবর্তী সংখ্যাটিতে মানচিত্র তৈরি করবে যা 110 হয় But তবে এটির একটিতে পরপর দু'টি থাকে, সুতরাং এটি পরবর্তী সংখ্যায় যায় যতক্ষণ না এটি পৌঁছায় না। যা ১১০, যেহেতু ১১০-১১১ এর সমস্তটি বাদ রয়েছে।
রেটো কোরাডি

3
@ কোরি ওগবার্ন এটি বিনয়ের বিষয়ে নয় আপনি তালিকার প্রতিটি সংখ্যার জন্য নং -11 নিয়ম দিয়ে প্রদত্ত নম্বর পর্যন্ত গণনা করার সময় সংখ্যার তালিকাটি কেমন হবে তা দেখুন
লুকস্টর্মস

2
@leymannx বাম দিকে সংখ্যাটি সিরিজের সংখ্যাটি উপস্থাপন করে। সুতরাং সিরিজের প্রথম মান 1, সিরিজের দ্বিতীয় মান 2, ইয়াদদা ইয়াদদা (গলদা চিংড়ি), সিরিজের দশম মান 10, এবং সিরিজের একাদশ মান 12, কারণ আমরা 11 হিসাবে এড়িয়ে গেছি টেলেক্স এটিকে প্রভুর কাছে ঘৃণা বলে মনে করে। এই ধারণাটি অব্যাহত রয়েছে, সুতরাং কেন সিরিজের 108 তম মান 109, এবং সিরিজের ১১০ তম মান 120, কারণ আমরা ১১০ থেকে ১১৯ পর্যন্ত সমস্ত কিছু এড়িয়ে চলেছি Hope আশা করি আমি যথেষ্ট ভালভাবে ব্যাখ্যা করেছি।
আহল

উত্তর:



8

পার্ল 5 , 34 বাইট

একটি কাউন্টার লুপ করা এবং মাঝে মাঝে ডাবল-ওয়ান পরিবর্তন করা।

map{$i++;$i=~s/11/12/}1..pop;say$i

পরীক্ষা

$ perl -M5.012 -e 'map{$i++;$i=~s/11/12/}1..pop;say$i' 111
$ 122


6

পাইথ, 13 11 বাইট

e.f!}`hT`ZQ

@ ফ্রাইআমডেজিগম্যানকে 2 বাইট সংরক্ষণ করা হয়েছে

লাইভ ডেমো এবং পরীক্ষার কেস।

13-বাইট সংস্করণ

e.f!}"11"+ZkQ


@ পিটারমোরটেনসেন তৃতীয়টি এখানে ব্যবহৃত পাইথের সাথে সম্পর্কিত নয় - আসলে এই পাইথটি তৈরি হওয়ার 8 বছর আগে থেকে। পাইথন পাইথন অনুপ্রাণিত ভাষাগুলির একটি জনপ্রিয় নাম।
isaacg

5

জাভাস্ক্রিপ্ট, 53 বাইট

n=>[...Array(n*2).keys()].filter(a=>!/11/.test(a))[n]

বিকল্প (বোধগম্যতা, একই দৈর্ঘ্য ব্যবহার করে):

n=>[for(i of Array(n*2).keys())if(!/11/.test(i))i][n]

দেখে ভাল লাগল, তবে এই কাজের জন্য ওভারকিল। কোডগল্ফ.স্ট্যাক্কেঞ্জেনজিও
61594/

4

পাইথন 2, 50

lambda n:[i for i in range(n*2)if'11'not in`i`][n]

একটি বেনামে ফাংশন যা সংখ্যায় ক্রমযুক্ত নয় তালিকাবদ্ধ করে 11এবং এটি গ্রহণ করে n0তালিকায় অন্তর্ভুক্তির সাথে শূন্য-সূচকের অফ বাই বাই ত্রুটি বাতিল হয় ।

তত্ত্ব অনুসারে, এটি পর্যাপ্ত পরিমাণে যেখানে ব্যর্থ হবে f(n)>2*n, তবে এটি nকমপক্ষে না হওয়া পর্যন্ত হওয়া উচিত নয় 10**50


51 বাইট:

n=input();i=0
while n:i+=1;n-='11'not in`i`
print i

বিনা সংখ্যার iকোটা পূরণ না হওয়া পর্যন্ত সংখ্যা গণনা করে ।n11

অফ-বাই-ওয়ান সংশোধন প্রয়োজন হওয়ায় একটি ফাংশন একই দৈর্ঘ্য।

f=lambda n,i=0:n+1and f(n-('11'not in`i`),i+1)or~-i

3

পাইথন 3 74

তবুও কিছুটা গল্ফ দরকার।

n=int(input())
c=0
for x in ' '*n:
 c+=1
 while'11'in str(c):c+=1
print(c)

এখনই এটি বেশ নিষ্ঠুর শক্তি।



2

জাভাস্ক্রিপ্ট (ES6) 41

বেনামে ফাংশন হিসাবে

n=>eval('for(i=0;/11/.test(++i)||n--;)i')

দ্রষ্টব্য: খুব সহজ উপায় 44 হবে:

n=>{for(i=0;/11/.test(i)||n--;i++);return i}

নীচে স্নিপেট চলমান পরীক্ষা করুন।

f=n=>eval('for(i=0;/11/.test(++i)||n--;)i')

alert(f(+prompt('Enter number')))


2

হাস্কেল, 51 বাইট

([x|x<-[0..],notElem('1','1')$zip=<<tail$show x]!!)

ব্যবহারের উদাহরণ: ([x|x<-[0..],notElem('1','1')$zip=<<tail$show x]!!) 110-> 121

কিভাবে এটা কাজ করে:

[x|x<-[0..]                                   ]    -- take all x starting with 0
           ,                                       -- where
                   ('1','1')                       -- the pair of two chars '1'
            notElem                                -- is not part of
                             zip=<<tail            -- the list of pairs of neighbor elements of
                                        show x     -- the string representation of x
                                               !!  -- take nth element, where n is the parameter

1

এমএমপিএস, 37 বাইট

t(i) f j=1:1 s:j'[11 k=k+1 q:k=i
    q j

অনেকটাই অকপট. এখানে কেবল "আকর্ষণীয়" জিনিসটি হ'ল নির্মাণ j'[11- '[এটি "ধারণ করে না" অপারেটর, সুতরাং এটি "abc"'["ab"মিথ্যা এবং "abc"'["cd"সত্য। উভয় j'[11সংখ্যক সংখ্যক অপারেশন থাকা সত্ত্বেও এমএমএমএস অপরিবর্তিত রয়েছে। এটি আনন্দের সাথে উভয় অপারেশনকে স্ট্রিং-এ স্বশাসিত করবে এবং তার জীবন নিয়ে এগিয়ে যাবে। হুররে!

(ঘটনাচক্রে, আপনি যদি ঠিক করেন প্রোগ্রামটি কখনই শেষ না হয় তবে আমরা এটিকে 35 বাইটে সংক্ষিপ্ত করতে পারি t2(i) f j=1:1 s:j'[11 k=k+1 w:k=i j:)



-1

রুবি, 24 বাইট

কার্যটির ভুল ব্যাখ্যা দেওয়া, পরে আবার কাজ করবে!

$><<gets.gsub('11','12')

ধারণ করে না এমন ইনপুটগুলিতে কাজ করে না 11। উদাহরণস্বরূপ, দেওয়া 12উচিত 13, না 12
DLosc

@ ডিএলকস ওহ গফ আমি কাজের ভুল ব্যাখ্যা করেছি! আমি পরে এটি আবার কাজ করব!
পিটার লেনকিফি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.