ওয়ান 1, টু 1 এর, ওয়ান 2 ওয়ান 1


16

চ্যালেঞ্জ:

এমন একটি প্রোগ্রাম তৈরি করুন যা ইতিবাচক অ-শূন্য পূর্ণসংখ্যার ইনপুট নেয় এবং নীচে বর্ণিত ক্রমটিতে 4 পরবর্তী সংখ্যাগুলি আউটপুট করে।

দ্রষ্টব্য: ইনপুটটি আসলে একটি ইতিবাচক অ-শূন্য পূর্ণসংখ্য কিনা তা পরীক্ষা করা প্রয়োজন

ক্রম:

এই অনুক্রমের প্রতিটি সংখ্যা (প্রথমটি ছাড়াও, যা ইনপুটটি হয়) n অঙ্কগুলি সমন্বয়ে গঠিত হবে, যেখানে এন একটি সমান সংখ্যা। আমরা যদি প্রতিটি জোড়ার জন্য সংখ্যাটিকে n / 2 জোয়ারে বিভক্ত করি, তবে প্রথম অঙ্কটি পূর্ববর্তী সংখ্যায় দ্বিতীয় অঙ্কটি প্রকাশের পরিমাণ হতে হবে

ভিজ্যুয়াল ব্যাখ্যা :
এই উদাহরণটি "সিকোয়েন্স স্টার্টার" বা ইনপুট বিবেচনা করুন সিক্যুয়েন্সের 6577
পরবর্তী নম্বরটি দেখতে দেখতে হবে 161527
কারণ ইনপুটটিতে 1 "6", 1 "5" এবং 2 "7" গুলি রয়েছে।

যদি ইনপুটটিতে অনেকগুলি অঙ্ক থাকে (একক অঙ্কের 9 টিরও বেশি) আপনি সঠিক আউটপুট পেতে সক্ষম হবেন
উদাহরণ: 111111111111(12 1's)
ধারাবাহিকভাবে পরবর্তী নম্বরটি 12 1 এর বর্ণনা করতে হবে। সুতরাং আমরা এটি 9 1 এবং 3 1 এর মধ্যে ভাগ করব (যোগফল 9 + 3 = 12)
পরবর্তী নম্বর:9131

ইনপুটটির জন্য আপনার 4 বার পুনরাবৃত্তি করা উচিত এবং এটিকে আউটপুট করা উচিত (হয় 4 টি সংখ্যার একটি তালিকা / অ্যারে প্রদান করুন, বা একটি স্পেস দিয়ে পৃথক করে এটি আউটপুট করুন, নিউলাইনগুলিও গ্রহণযোগ্য হবে)

"সংখ্যাটি অনেক উপায়ে লেখা যায়, আমি কীভাবে এটি লিখব?" :
আপনি যদি এটির বিষয়ে চিন্তা করেন তবে উদাহরণ ইনপুটটি 6577271516 (দুটি 7 এর, একটি 5, একটি ছয়) হিসাবেও লেখা যেতে পারে। তবে এটি অ-বৈধ আউটপুট। আপনার বাম থেকে ডানদিকে পুনরাবৃত্তি করা উচিত। সুতরাং 161527. এটি যদি 7657আপনি 7 এর পরিমাণটি পুনরাবৃত্তি করতেন তবে 6 এর পরিমাণ 5 এর পরিমাণের, সুতরাং বৈধ আউটপুট হবে271615

আই / ও উদাহরণ:

ইনপুট: 75
আউটপুট:1715 211715 12311715 4112131715

ইনপুট: 1
আউটপুট:11 21 1211 3112

ইনপুট: 111111111111(12 1 এর)
আউটপুট:9131 192113 31191213 23411912


এটি "আপনি যা দেখছেন তা বলুন" প্রশ্নের বিপরীত, কারণ ক্রমগুলি পৃথক: https://oeis.org/A005150 <- এই এক হিসাবে এই সংখ্যাগুলি ফেরত দেয়:
ইনপুট: 1211 আউটপুট: 111221
যখন ক্রমটি আমি জিজ্ঞাসা করছি
ইনপুট করতে হবে : 1211 আউটপুট: 3112

দুটি ক্রম পৃথক এবং বিভিন্ন অ্যালগরিদমের প্রয়োজন।
আমার জিজ্ঞাসা করা ক্রম: https://oeis.org/A063850
"সম্ভাব্য সদৃশ" সিকোয়েন্স: https://oeis.org/A005150


গুরুত্বপূর্ণ স্পেসিফিকেশন:

যেহেতু এই প্রশ্নের উত্তর দেওয়ার চেষ্টা করা কিছু লোকের পক্ষে এটি যথেষ্ট স্পষ্ট ছিল না, কে চরগুলি যেখানে k> 9 "কেসি" নয় (যেখানে সিটি চর) তবে 9 সি (কে -9) সি ইত্যাদি সঠিক আউটপুট এইভাবে সঠিক আউটপুট 12 1 এর 121(12 1) নয় 9131(9 1 এর, (12-9) 1 এবং আরও)

যদি সন্দেহ হয় তবে আপনার কোডটি যদি ভুল হয় তবে এটি কোনও বিজোড় অঙ্কের (121 এর মতো) সংখ্যার সাথে আউটপুট দেয় তবে ক্রমের প্রকৃতির কারণে এর এমনকি অঙ্কের সংখ্যাও আউটপুট হওয়া উচিত।


এটি এইভাবে কমপক্ষে বাইট জয়যুক্ত কোড।


প্রস্তাবিত 1111111111111111111
টেস্টকেস


আমরা সংখ্যার কমা-বিচ্ছিন্ন তালিকা হিসাবে আউটপুট দিতে পারি? আউটপুটটি কি ইনপুট পূর্ণসংখ্যার (এবং এর ফলে দৈর্ঘ্য 5) দিয়ে শুরু হতে পারে?
গ্রেগ মার্টিন

আপনার শেষ পরীক্ষার ক্ষেত্রে, শেষ সংখ্যাটি 23411912পরিবর্তে হওয়া উচিত নয় 23411219?
গ্রেগ মার্টিন

@ গ্রেগমার্টিন প্রকৃতপক্ষে নির্দেশ করার জন্য ধন্যবাদ। তবে না, আপনাকে নিউলাইনস বা স্পেসগুলি বাদ দিয়ে কোনও কিছুর সাথে পৃথক পূর্ণসংখ্যা বা আউটপুট সংখ্যার তালিকা ফেরত দেওয়ার অনুমতি নেই। এবং না, আপনি ইনপুটটি আউটপুট করা উচিত নয়
পি কেটিনোস

উত্তর:


6

পাওয়ারশেল , 111 104 বাইট

$z=$args;1..4|%{($z=-join($z-split'\B'|group|%{for($c,$n=$_.Count,$_.Name;$c-gt9;$c-=9){"9$n"}"$c$n"}))}

এটি অনলাইন চেষ্টা করুন!


যেহেতু আপনি $iআপনার লুপটি ব্যবহার করেন না , তাই কেন কেবল সরাসরি পছন্দ করবেন না$z=$args;0..3|%{...
অ্যাডমবর্কবার্ক

@ অ্যাডমবার্কবার্ক আমি এটি সম্পর্কে ভেবেছিলাম কিন্তু অনুভব করেছি যে দায়িত্ব অর্পণ করার পরে এটি আরও দীর্ঘ হবে $args(এবং আমি প্রাথমিকভাবে ভেবেছিলাম যে আমি এটি ব্যবহার করব $i)। আমি এটি পরিমাপ করতে যাচ্ছি কিন্তু তারপর প্রশ্নটি বন্ধ হয়ে গেল।
ব্রিটিশবাদী

@ অ্যাডমবার্কবার্ক ... aaaand সম্পাদিত (ধন্যবাদ)
ব্রিটিশবাদী

5

পাইথন 2 , 116 বাইট

x=input()
exec"x=''.join(x.count(n)/9*(`9`+n)+`x.count(n)%9`+n for i,n in enumerate(x)if n not in x[:i]);print x;"*4

এটি অনলাইন চেষ্টা করুন!


19 টির জন্য আউটপুটটি 1111111111111111111ভুল। হওয়া উচিত 919111কিন্তু দেওয়া উচিত919121
সিএসারপি

অনেক মানের জন্য আউটপুট ভুল। উদাহরণ: image.prntscr.com/image/ed4c523b105b41169e8aa8c46a95f963.png , ইনপুট 11আউটপুট হওয়া উচিত 21 1211 3112 132112, আমি বুঝতে পারি না কেন এটি 111প্রথম
পুনরুক্তি

@ পি.ক্টিনোস ইনপুট ফর্ম্যাটটি ভুল ছিল, এটির স্ট্রিং হওয়া দরকার (এটি যে পরীক্ষাগুলি আমি করছিলাম সেগুলির অবশ্যই অবশিষ্ট)। লিঙ্কটি স্থির করে
রড

4

05 এ বি 1 ই , 30 23 21 বাইট

4F©Ùv9y«®y¢9‰`U×XyJ}=

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

4F                     # 4 times do:
  ©                    # store a copy of the current number in register
   Ùv                  # for each unique digit y in the number
     9y«               # concatenate 9 with y
        ®y¢            # count occurrences of y in current number
           9‰          # divmod by 9
             `U        # store the result of modulus in X
               ×       # repeat the number "9y" result_of_div times
                X      # push result of modulus
                 y     # push y
                  J    # join everything to one number
                   }   # end inner loop
                    =  # print the current number without popping

@ ম্যাজিক অ্যাক্টোপাস উর্ন: এটি আমার টিআইও লিংকের উদাহরণের মতো উদাহরণের মতো একটি অঙ্কের 9 টিরও বেশি পুনরাবৃত্তি সহ সংখ্যার জন্য কাজ করবে না।
Emigna

ওহ ... আমি এখন এটি পেয়েছি।
ম্যাজিক অক্টোপাস উর্ন

1

গণিত, 117 বাইট

Grid@{Rest@NestList[FromDigits[Join@@(Reverse/@Tally@IntegerDigits@#//.{a_,b_}/;a>9->{9,b}~Sequence~{a-9,b})]&,#,4]}&

দেখে মনে হচ্ছে এটি দীর্ঘ হওয়া উচিত নয়।


1

সি # 246 বাইট

namespace System{using Linq;using f=String;class p{static void Main(f[] s){f p=s[0];for(int i=0,n;i++<4;Console.Write(p+" "))p=f.Concat(p.GroupBy(c=>c).SelectMany(g=>new int[(n=g.Count())/9].Select(_ =>"9"+g.Key).Concat(new[]{n%9+""+g.Key})));}}}

Ungolfed:

namespace System
{
    using Linq;
    using f = String;
    class p
    {
        static void Main(f[] s)
        {
            f p = s[0];
            for (int i = 0, n; i++ < 4; Console.Write(p + " "))

                p = f.Concat(p.GroupBy(c => c).SelectMany(g =>
                    new int[(n = g.Count()) / 9].Select(_ => "9" + g.Key).Concat(new[] { n % 9 + "" + g.Key }
                )));
            Console.ReadKey();
        }
    }
}

এটি এখানে চেষ্টা করুন (নীচের ফ্রেমের ইনপুট টাইপ করুন এটির সংকলিত হয়ে ENTER টিপুন)


0

জেলি , 27 বাইট

L,Ḣ
D©®i$ÞŒgs9$€Ç€€FḌµ4µÐ¡Ḋ

এটি অনলাইন চেষ্টা করুন!

ধারাবাহিক গুলি নেস্টেড করা যাবে না কারন চেইন নেস্টেড করা যাবে না।

পৃথক লিঙ্ক দিয়ে বাসা বাঁধছে: 27 বাইট।

কমুলেশনের পরিবর্তে মুদ্রণ করুন: 27 বাইট।

ব্যাখ্যা

L,Ḣ                     - helper function, does the look-and-say. Input is a list of digits
 ,                      - return 2-tuple of:
L                       -   length of input
  Ḣ                     -   first element of input

D©®i$ÞŒgs9$€Ç€€FḌµ4µÐ¡Ḋ - main link, takes input as integer
                 µ4µÐ¡  - repeat 4 times, saving the results of each iteration:
D                       -   convert integer to list of digits
 ©                      -   save into register, for later use
  ®i$Þ                  -   sort list's elements by first occurrence in list
      Œg                -   group runs of equal elements
        s9$€            -   split each run into sets which are at most 9 elements long
            Ç€€         -   do the look-and-say with helper function
               FḌ       -   flatten and convert back into integer for next iteration
                      Ḋ - remove the first element from the list since it includes the
                           initial element

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