গুণ এবং ভাগ


10

প্রদত্ত একটি মান এক্স চেয়ে ক্ষুদ্রতম সংখ্যাগত মান বৃহত্তর এটি Y যে গুন এবং দ্বারা বিভক্ত করা হচ্ছে সক্ষম হয় এক্স সব মূল সংখ্যার ধারনকারী হয়।

  • নতুন সংখ্যাগুলি হারাবে না।
  • নতুন সংখ্যাগুলি সংখ্যা অর্জন করে না।

উদাহরণ স্বরূপ:

ইনপুট: x = 2, y = 250000

  • আসল: 285714
    • বিভাগ: 142857
    • গুণ: 571428

এটি সত্য কারণ 285714 y এর চেয়ে বড় ; তারপর দ্বারা বিভক্ত এক্স ফলাফল 142857 এবং কখন দ্বারা গুন এক্স ফলাফল 571428 । উভয় পরীক্ষায় 285714 থেকে সমস্ত মূল সংখ্যা উপস্থিত রয়েছে এবং কোনও অতিরিক্ত সংখ্যা যুক্ত করা হয়নি।


নিয়ম

  • এক্স 2 বা 3 হওয়া উচিত কারণ উচ্চতর কিছু গণনা করতে খুব বেশি সময় নেয়।
  • ওয়াইয়ের শূন্যের চেয়ে বড় একটি সংখ্যা হওয়া দরকার ।
  • সংক্ষিপ্ততম কোডটি জয়ী।

পরীক্ষার কেস

এগুলি আমার সবচেয়ে সাধারণ পরীক্ষার কেস কারণ এগুলি পরীক্ষার দ্রুততম।

  • x = 2, y = 250000 = 285714
  • x = 2, y = 290000 = 2589714
  • x = 2, y = 3000000 = 20978514
  • x = 3, y = 31000000 = 31046895
  • x = 3, y = 290000000 = 301046895

ব্যাখ্যা

  • বিভাগের ধরণের বিষয়টি বিবেচনা করে না। আপনি যদি কোনওভাবে 2.05, 0.25 এবং 5.20 পেতে পারেন তবে নির্দ্বিধায়।

তোমাদের সবার জন্য শুভ কামনা!


4
" এক্স এর মান 2 থেকে 5 এর মধ্যে হতে হবে ।" - যদি এক্স> = 4, এক্স দ্বারা গুণিত সংখ্যাটি এক্স দ্বারা
বিভাজক

2
x 2 বা 3 ব্যতীত অন্য কিছু হতে পারে না কারণ পণ্যটি x ^ 2 গুণ গুণফল এবং উভয়ের উভয়ই একই সংখ্যার সংখ্যা থাকা উচিত। x = 1 একটি তুচ্ছ মামলা হবে। আইএমও, কোনও ভুল জন্য x = 3 এর কোনও সমাধান নেই যদিও আমি ভুল হতে পারি।
যতীন সংঘভি

2
বিভাগ কি ভাসমান বা পূর্ণসংখ্যা বিভাগ?
এরিক আউটগলফার

3
পরীক্ষার কেসগুলি দুর্দান্ত হবে
স্টিফেন

3
আমি সন্দেহ করি যে আমিই সেই ব্যক্তি নই যিনি পুনরায় খুলতে ভোট দেওয়া থেকে বিরত থাকছেন কারণ স্পষ্টতা স্পষ্টতই চ্যালেঞ্জটিকে আরও স্পষ্ট করে তুলেছে, কারণ ভাসমান পয়েন্ট আউটপুট বিবেচনা করা হচ্ছে কিনা তা নির্ভর করে সঠিক উত্তর নির্ভরশীলভাবে বদলে যেতে পারে। আমি সন্দেহ করি যে এরিকথিউটগলফারের প্রশ্নটি ভাসমান পয়েন্ট আউটপুটটিকে অনুমোদনের বিষয়ে জিজ্ঞাসা করছিল না, তবে এটি ট্রানকাটিং ইন্টিজার বিভাগ ব্যবহার করার অনুমতি রয়েছে কিনা সে সম্পর্কে জিজ্ঞাসা করছিল না । (এবং আমার মন্তব্যগুলি বিভ্রান্তির সাথে যুক্ত হলে আমি দুঃখিত))
--র্জন জোহানসেন

উত্তর:


4

কাস্তে , 14 বাইট

ḟ§¤=OoDd§¤+d*/

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

ব্যাখ্যা

ḟ§¤=O(Dd)§¤+d*/  -- example inputs: x=2  y=1
ḟ                -- find first value greater than y where the following is true (example on 285714)
 §               -- | fork
         §       -- | | fork
              /  -- | | | divide by x: 142857
                 -- | | and
             *   -- | | | multiply by y: 571428
                 -- | | then do the following with 142857 and 571428
                 -- | | | concatenate but first take
           +     -- | | | | digits: [1,4,2,8,5,7] [5,7,1,4,2,8]
          ¤ d    -- | | | : [1,4,2,8,5,7,5,7,1,4,2,8]
                 -- | and
       d         -- | | digits: [2,8,5,7,1,4]
      D          -- | | double: [2,8,5,7,1,4,2,8,5,7,1,4]
                 -- | then do the following with [2,8,5,7,1,4,2,8,5,7,1,4] and [1,4,2,8,5,7,5,7,1,4,2,8]
   =             -- | | are they equal
  ¤ O            -- | | | when sorted: [1,1,2,2,4,4,5,5,7,7,8,8] [1,1,2,2,4,4,5,5,7,7,8,8]
                 -- | : truthy
                 -- : 285714

কাছাকাছি প্রারম্ভিক পয়েন্ট পেতে আমি y এর মানটি সামঞ্জস্য করেছি এবং এক্স = 3, y = 25000000 এর জন্য ফলাফলটি ভুল ছিল ।
এমা - পেরেপাচুয়েলজ

@ প্রিপুটুয়ালজে: ফলাফলটি যদি আপনি জানেন তবে আপনি সহজেই y কে সামঞ্জস্য করতে পারেন এবং এই সংস্করণটি কিছুটা দ্রুত হওয়া উচিত (তবে কেবল টাইপ-চেকিং)।
ბიმო

আমি কিছু চিন্তাভাবনা করার পরে এটিকে সামঞ্জস্য করেছি এবং আমার প্রথম মন্তব্যটি সম্পাদনা করেছি।
এমা - পেরেপাচুয়েলজ

@ পারপেটুয়ালজে: আমি এটিকে ঠিক করেছি: এমন ধারণা নিয়েছিলাম -যা ভুল ছিল।
ბიმო

1
@ প্রিপেইচুয়ালজে: আমি প্রোগ্রামটি লিখেছি;) আমি একটি ব্যাখ্যা যুক্ত করেছি, এখন প্রত্যেকের বুঝতে হবে কী হচ্ছে তা।
5

5

ব্র্যাচল্যাগ ভি 2, 15 বাইট

t<.g,?kA/p.∧A×p

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

ফর্ম ইনপুট লাগে [x,y]

ব্যাখ্যা

t<.g,?kA/p.∧A×p
t                  Tail (extract y from the input)
 <                 Brute-force search for a number > y, such that:
  .                  it's the output to the user (called ".");
   g                 forming it into a list,
    ,?               appending both inputs (to form [.,x,y]),
      k              and removing the last (to form [.,x])
       A             gives a value called A, such that:
        /              first ÷ second element of {A}
         p             is a permutation of
          .            .
           ∧         and
            A×         first × second element of {A}
              p        is a permutation of {.}

ভাষ্য

একাধিকবার একাধিক মান পুনরায় ব্যবহার করার ক্ষেত্রে ব্র্যাচল্যাগের দুর্বলতা এখানে প্রদর্শিত হয়; এই প্রোগ্রামটি প্রায় সমস্ত নদীর গভীরতানির্ণয় এবং খুব কম অ্যালগরিদম হয়।

এই হিসাবে, সহজেই y এর মান হার্ডকোড করা আরও সুবিধাজনক বলে মনে হতে পারে (এই প্রশ্নের অনুমানের উপর একটি মন্তব্য রয়েছে যে 2 এটিই সম্ভাব্য মান)। তবে, y = 3 এর পক্ষে আসলে সমাধান রয়েছে , যার অর্থ দুর্ভাগ্যক্রমে, নদীর গভীরতানির্ণয়কে y এর মানও হ্যান্ডেল করতে হয় । আমি যে ক্ষুদ্রতম সম্পর্কে সচেতন তা হ'ল:

                         315789473684210526
315789473684210526 × 3 = 947368421052631578
315789473684210526 ÷ 3 = 105263157894736842

(এই নম্বরটি আবিষ্কার করার জন্য আমি যে কৌশলটি ব্যবহার করেছি তা সম্পূর্ণ সাধারণ নয়, সুতরাং এটি সম্ভব যে অন্য কোনও পদ্ধতির সাহায্যে একটি ছোট সমাধান পাওয়া যায়))

যদিও আপনি এই প্রোগ্রামটি দিয়ে যাচাই করতে পারবেন না unlikely ব্র্যাচ্ল্যাগগুলি pখুব সাধারণভাবে রচিত যা বিশেষ ক্ষেত্রে (যেমন ইনপুট এবং আউটপুট উভয়ই ইতিমধ্যে জানা আছে এমন ক্ষেত্রে যেমন আশা করা যায় না) এর অর্থ আপনি বাছাইয়ের মাধ্যমে ও ( এন লগ এন ) এ যাচাইকরণ করতে পারেন আমি যে সন্দেহজনক বল প্রয়োগের জন্য এটি ব্যবহার করছে সন্দেহের জন্য ও ( এন !) এর চেয়ে বেশি )। ফলস্বরূপ, 105263157894736842 এটি 315789473684210526 (এখন বেশ কয়েক মিনিট ধরে চলতে চলেছি যা কোনও স্পষ্ট অগ্রগতি ছাড়াই নয়) তা যাচাই করতে খুব দীর্ঘ সময় লাগে।

(সম্পাদনা: আমি ব্র্যাকল্যাগ উত্সটি কারণটির জন্য পরীক্ষা করেছিলাম It এটি প্রমাণিত হয়েছে যে আপনি যদি pদুটি পরিচিত পূর্ণসংখ্যার ব্যবহার করেন তবে ব্যবহৃত অ্যালগরিদম প্রশ্নের মধ্যে পূর্ণসংখ্যার সমস্ত সম্ভাব্য ক্রম উত্পন্ন করে যতক্ষণ না এটি অ্যালগরিদম হিসাবে আউটপুট পূর্ণসংখ্যার সমান একটি খুঁজে পায় until হ'ল "ইনপুট → ইন্ডিগিটস, পারমিট ইনডিজিটস d আউটডিজিটস, আউটডিজিটস → আউটপুট" A আরও কার্যকর দক্ষ অ্যালগরিদম হ'ল প্রথমে আউটডিজিট / আউটপুট সম্পর্ক স্থাপন করা হবে , যাতে অনুমতিের মধ্যে থাকা ব্যাকট্র্যাকিংয়ের বিষয়টি বিবেচনায় নিতে পারে কোন সংখ্যাগুলি পাওয়া গিয়েছিল))


একটি কাঁটাচামচ ব্যবহার আপনার কোড 1 বাইট দ্বারা হ্রাস করতে পারে। এটি অনলাইন চেষ্টা করুন!
ক্রপ্পেব

এছাড়াও ডক্স অনুসারে, এটি দুটি চেনা তালিকার ক্রমশক্তি
হ'ল

@ ক্রপ্পেব: সমস্যাটি হ'ল ব্র্যাচল্যাগ দুটি পরিচিত তালিকার সাথে pচালিত হয় না permutation/2, এমনকি যখন দুটি পরিচিত পূর্ণসংখ্যার যুক্তি হিসাবে দেওয়া হয়; এটি প্রথম পূর্ণসংখ্যার সমস্ত ক্রিয়াকলাপ উত্পন্ন করে ( একটি পরিচিত তালিকার permutation/2সাথে ব্যবহার করে ) এবং তারপর তাদের দ্বিতীয় পূর্ণসংখ্যার সাথে তুলনা করে।
ais523



3

q, 65 বাইট

{f:{asc 10 vs x};while[not((f y)~f y*x)&(f y*x)~f"i"$y%x;y+:1];y}

বেস 10 তে নম্বর বিভক্ত করুন, প্রতিটি আরোহণকে বাছাই করুন এবং সমান কিনা তা পরীক্ষা করুন। যদি না হয়, ইনক্রিমেন্ট y এবং আবার যান


3

জাভাস্ক্রিপ্ট (ES6), 76 73 69 বাইট

eval()@ শিরুআসাকোটোর পরামর্শ অনুসারে 3 বাইট ব্যবহার করে সংরক্ষণ করা হয়েছে

হিসাবে ইনপুট লাগে (x)(y)

x=>y=>eval("for(;(g=x=>r=[...x+''].sort())(y*x)+g(y/x)!=g(y)+r;)++y")

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

একটি পুনরাবৃত্ত সংস্করণ 62 বাইট হবে , তবে এটি প্রয়োজনীয় পুনরাবৃত্তির সংখ্যার বেশি হওয়ার কারণে এটি এখানে ভাল উপযুক্ত নয়।

কিভাবে?

উদাহরণ:

g(285714) = [ '1', '2', '4', '5', '7', '8' ]

Y×এক্সY/এক্সY(Y×এক্স)(Y/এক্স)(Y)

দুটি অ্যারে একসাথে যুক্ত করার সময়, তাদের প্রত্যেকটি স্পষ্টতই কমা দ্বারা পৃথক স্ট্রিংকে জোর করে। প্রথম অ্যারের শেষ অঙ্কটি তাদের মধ্যে কোনও কমা ছাড়াই সরাসরি দ্বিতীয় অ্যারের প্রথম অঙ্কের সাথে সংক্ষিপ্ত হতে চলেছে, যা এই ফর্ম্যাটটিকে দ্ব্যর্থহীন করে তোলে।

উদাহরণ:

g(123) + g(456) = [ '1', '2', '3' ] + [ '4', '5', '6' ] = '1,2,34,5,6'

কিন্তু:

g(1234) + g(56) = [ '1', '2', '3', '4' ] + [ '5', '6' ] = '1,2,3,45,6'

মন্তব্য

x => y =>                   // given x and y
  eval(                     // evaluate as JS code:
    "for(;" +               //   loop:
      "(g = x =>" +         //     g = helper function taking x
        "r =" +             //       the result will be eventually saved in r
          "[...x + '']" +   //       coerce x to a string and split it
          ".sort() + ''" +  //       sort the digits and coerce them back to a string
      ")(y * x) +" +        //     compute g(y * x)
      "g(y / x) !=" +       //     concatenate it with g(y / x)
      "g(y) + r;" +         //     loop while it's not equal to g(y) concatenated with
    ")" +                   //     itself
    "++y"                   //   increment y after each iteration
  )                         // end of eval(); return y

: 66: আপনি x=>F=y=>(g=x=>r=[...x+''].sort()+'')(y*x)!=g(y)|r!=g(y/x)?F(y+1):yযদি সমাধান থেকে দূরে থাকেন তবে স্ট্যাকের উপচে পড়তে পারে।
Shieru Asakoto

বা 75 ব্যবহার করে eval:x=>y=>eval("for(;(g=x=>r=[...x+''].sort()+'')(y*x)!=g(y)|r!=g(y/x);y++);y")
শিয়ারু আসাকোটো

@ শিরুআসাকোটো এই eval()ধারণার জন্য ধন্যবাদ । আমার প্রথম প্রচেষ্টাটি প্রকৃতপক্ষে পুনরাবৃত্ত ছিল, তবে প্রয়োজনীয় সংখ্যার পুনরাবৃত্তির সংখ্যার কারণে আমি ত্যাগ করেছি।
আর্নল্ড

3

হাস্কেল, 76 74 বাইট

লিনের মন্তব্যে ধন্যবাদ জানায় দু'টি বাইট

import Data.List
s=sort.show
x#y=[n|n<-[y+1..],all(==s n)[s$n*x,s$n/x]]!!0

1
একই বাইট কাউন্টের জন্য আপনার fহতে পারে f x y=[n|n<-[y+1..],all(==s n)[s$n*x,s$n/x]]!!0তবে অপারেটর হিসাবে দুটি বাইট সংরক্ষণ করে আপনার উত্তরটি সংজ্ঞায়িত করুন: x!y=…এবং তারপরে আপনার উত্তরটি হবে (!):)
লিন

তালিকা অনুধাবন ব্যবহার করার কথা ভাবেন নি! পরামর্শের জন্য ধন্যবাদ: ডি
umnikos

2

জাপট, 24 বাইট

কয়েক বিয়ারের উপর সুন্দর নির্লজ্জ সমাধান; আমি নিশ্চিত একটি ভাল উপায় আছে।

@[X*UX/U]®ì nÃeeXì n}a°V

চেষ্টা করে দেখুন


দুর্ভাগ্যক্রমে এটি একটি ভুল ফলাফল তৈরি করে যখন x = 3 এবং y = 25000 হয়
এমা - পেরেপাচিউল

@ পার্পেটওয়ালজে অনুমান 315789473684210526করা প্রথম সমাধান x=3, জাভাস্ক্রিপ্ট বা জাপট এটিকে সঠিকভাবে গণনা করতে পারে না কারণ এটি দ্বিগুণ নির্ভুলতার সাথে খাপ খায় না
বুদ্বুদ

@ পার্পেটুয়ালজে, এটি আগে ঠিক করা হয়েছে। এই পরীক্ষার কেসটি কখনই সম্পূর্ণ হবে না, যদিও উপরে বর্ণিত বাবলার কারণেই।
শেগি

@ শেগি এটি এখন একটি সঠিক ফলাফল উত্পন্ন করে এবং বুবলার যে সমাধানটির দিকে লক্ষ্য করেছেন 25000 এর উপরে এটি প্রথম সঠিক ফলাফল নয় । আপনি যদি আগ্রহী হন তবে আমার পরীক্ষার কেসগুলি দেখুন See +1
এমা - পেরেপুটুয়াল

1

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

S=sorted
x,y=input()
while(S(`y`)==S(`y*x`)==S(`y/x`))<1:y+=1
print y

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


f=lambda x,y,S=sorted:y*(S(`y`)==S(`y*x`)==S(`y/x`))or f(x,y+1)কাজ করা উচিত তবে এটি পুনরাবৃত্তির সীমাটি মোটামুটি দ্রুত হিট করে এবং পিপিসিজি বিধি সম্পর্কে এ সম্পর্কে কী বলার আছে তা আমি জানি না।
লিন

1

জেলি ,  14  13 বাইট

-1 এরিক দ্য আউটগল্ফারকে ধন্যবাদ (make make মেক_ডিজিটগুলি ব্যবহার করে, সুতরাং Dএটির প্রয়োজন ছিল না)
+2 একটি বাগ ঠিক করা (একের পর এক ইস্যুটি নির্দেশ করার জন্য এরিক দ্য আউটগল্ফারকে আবার ধন্যবাদ)

×;÷;⁸Ṣ€E
‘ç1#

ফলাফল মুদ্রণের একটি সম্পূর্ণ প্রোগ্রাম (ডায়াডিক লিঙ্ক হিসাবে 1 দৈর্ঘ্যের একটি তালিকা পাওয়া যায়)।

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

কিভাবে?

×;÷;⁸Ṣ€E - Link 1, checkValidity: n, x               e.g. n=285714,  x=2
×        -     multiply -> n×x                       571428
  ÷      -     divide -> n÷x                         142857
 ;       -     concatenate -> [n×x,n÷x]              [571428,142857]
    ⁸    -     chain's left argument = n             285714
   ;     -     concatenate -> [n×x,n÷x,n]            [571428,142857,285714]
     Ṣ€  -     sort €ach (implicitly make decimals)  [[1,2,4,5,7,8],[1,2,4,5,7,8],[1,2,4,5,7,8]]
        E    -     all equal?                        1

‘ç1# - Main link: y, x
‘    - increment -> y+1
   # - count up from n=y+1 finding the first...
  1  - ...1 match of:
 ç   -   the last link (1) as a dyad i.e. f(n, x)

নোট করুন যে বিভাগটি সঠিক না হলে অন্তর্ভুক্ত দশমিক নির্দেশ (ক এর সমতুল্য D) সাজানোর পূর্বে প্রয়োগ করা হলে একটি ভগ্নাংশের অংশ পাওয়া যায়
যেমন: 1800÷3D-> [6,0,0]
সময় 1801÷3D->[6.0,0.0,0.33333333333337123]


এই উত্তরটি কার্যকর কিনা আমি সত্যই নিশ্চিত নই; চ্যালেঞ্জটির ফলাফলটি " y এর চেয়ে বড় " হওয়া দরকার, যা আমি " Y এর চেয়ে কঠোরতর " হিসাবে ব্যাখ্যা করি । এছাড়াও, আপনার দরকার নেই D
এরিক আউটগলফার

আহ ভাল জায়গা >=আমি পুরোপুরি যে মিস! কোনও ধারণা না থাকায় এটিতে মেক_ডিজিট সেট ছিল - ধন্যবাদ। যদিও পরে ঠিক করতে হবে এবং আপডেট করতে হবে ...
জোনাথন অ্যালান

1

গণিত, 82 74 বাইট

x=Sort@*IntegerDigits;Do[If[x[i#]==x@Floor[i/#]==x@i,Break@i],{i,#2,∞}]&

-8 বাইট ধন্যবাদ tsh

যে যুক্তি হিসাবে ফাংশন লাগে [x,y]। কার্যকরভাবে একটি পাশব বল অনুসন্ধান যে চেক জন্য ডিজিটের অনুসারে সাজানো তালিকা যদি y, y/xএবং xyএকই।

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


আমি গণিতের সাথে পরিচিত নই। তবে এটি প্রমাণিত হতে পারে যে উত্তরটি বিভাগের ভগ্নাংশের অংশ বাদ দিলে উত্তরটি এখনও ঠিক থাকবে: সমস্ত উত্তর, উত্তর / এক্স, উত্তর * এক্স 9 দ্বারা বিভাজ্য হওয়া উচিত এবং এটি আপনার সমাধানকে আরও সংক্ষিপ্ত করে তুলতে পারে।
tsh

@tsh এটির জন্য কাজ করে x=3তবে আমি নিশ্চিত নই যে এটি সত্য x=2
janrjan জোহানসেন

@ ØrjanJohansen আসুন v = a[1]*10^p[1] + a[2]*10^p[2] + ... + a[n]*10^p[n], u = a[1] * 10^q[1] + ... + a[n] * 10^q[n]। এবং u-v = a[1]*(10^p[1]-10^q[1]) + ... + a[n]*(10^p[n]-10^q[n])যেহেতু 10^x-10^y=0 (mod 9)সর্বদা হোল্ড করে। u-v=0 (mod 9)সবসময় ধরে। যদি কোনও ভুল উত্তর থাকে w, যেহেতু w*x-w=0 (mod 9), এবং w-floor(w/x)=0 (mod 9): আমাদের কাছে রয়েছে floor(w/x)=0 (mod 9)। যদি floor(w/x)*x <> w, w-floor(w/x)*x>=9তবে এই দ্বন্দ্বটি এই সত্যের সাথে যে w-floor(w/x)*x<xx 2 বা 3 হতে পারে
tsh

ধন্যবাদ! খুব দীর্ঘ পথ গ্রহণ এই বিন্দু পেতে অন্যদের সুবিধার জন্য, w=0 (mod 9)সেখান থেকে অনুসরণ করে w*x-w=0 (mod 9)কারণ x-13. দ্বারা বিভাজ্য নয়
Orjan Johansen

যদি আমি IntegerQপরীক্ষাটি বাদ না দিয়ে থাকি IntegerDigitsতবে এটি ভগ্নাংশগুলিতে করার চেষ্টা করলে এটি বেশ কয়েকটি ত্রুটি তৈরি করে , তবে ম্যাথমেটিকা ​​এখনও তাদের ছাড়িয়ে যায় এবং সঠিক উত্তর দেয়। চূড়ান্ত উত্তরটি সঠিক হলেও, গণনার সময় ত্রুটিগুলি অন্তর্ভুক্ত করার অনুমতি দেওয়া হবে কিনা তা আমি নিশ্চিত নই।
নম্বরমানিয়াক

0

এপিএল (এনএআরএস), 490 টি চর, 980 বাইট

T←{v←⍴⍴⍵⋄v>2:7⋄v=2:6⋄(v=1)∧''≡0↑⍵:4⋄''≡0↑⍵:3⋄v=1:5⋄⍵≢+⍵:8⋄⍵=⌈⍵:2⋄1}
D←{x←{⍵≥1e40:,¯1⋄(40⍴10)⊤⍵}⍵⋄{r←(⍵≠0)⍳1⋄k←⍴⍵⋄r>k:,0⋄(r-1)↓⍵}x}
r←c f w;k;i;z;v;x;y;t;u;o ⍝   w  cxr
   r←¯1⋄→0×⍳(2≠T c)∨2≠T w⋄→0×⍳(c≤1)∨w<0⋄→0×⍳c>3
   r←⌊w÷c⋄→Q×⍳w≤c×r⋄r←r+c
Q: u←D r⋄x←1⊃u⋄y←c×x⋄t←c×y⋄o←↑⍴u⋄→0×⍳o>10⋄→A×⍳∼t>9
M:                     r←10*o⋄⍞←r⋄→Q
A: u←D r⋄→M×⍳x≠1⊃u⋄→B×⍳∼(t∊u)∧y∊u⋄z←r×c⋄v←D z⋄→C×⍳(⍳0)≡v∼⍦u
B: r←r+1⋄→A
C: k←z×c⋄⍞←'x'⋄→B×⍳(⍳0)≢v∼⍦D k
   ⎕←' '⋄r←z

পরীক্ষা

  2 f¨250000 290000 3000000
xxxx 
1000000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
10000000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
285714 2589714 20978514 
 3 f¨ 31000000 290000000 
xxxxxxxxx 
100000000xxxxxxxxxxxxxxxxxxxxxxxxxx 
31046895 301046895 

আমি ভেবেছিলাম যে সমস্যাটিকে আর সুবিধাজনক সংখ্যা হিসাবে পৃথক করা যেতে পারে তাই 3 টির মধ্যে r, r * x, r * x * x এর সাথে একটি মান শুরু হয় যে r * x এর কাছাকাছি (যেখানে x এবং y ইনপুট রয়েছে) মূল পোস্ট হিসাবে একই অক্ষর ব্যবহার করে সমস্যা)। আমি পর্যবেক্ষণটি ব্যবহার করেছি যে আর এর চেয়ে প্রথম অঙ্কের ডি হলে ডি * x এবং ডি * এক্স * এক্সও অঙ্কগুলি উপস্থিত করতে হবে, আর (বা আরও ভাল আর * এক্স) এর একটি সমাধান তৈরি করার জন্য।


0

05 এ বি 1 ই , 16 বাইট

[>©Ð²÷s²*)€{Ë®s#

এটি অনলাইনে চেষ্টা করুন। (দ্রষ্টব্য: খুব অকার্যকর সমাধান, সুতরাং ফলাফলের কাছাকাছি ইনপুটগুলি ব্যবহার করুন It এটি স্থানীয়ভাবে বৃহত্তর ইনপুটগুলির জন্যও কাজ করে, তবে টিআইও-তে এটি 60 সেকেন্ডের পরে সময় শেষ হবে))

ব্যাখ্যা:

[                   # Start an infinite loop
 >                  #  Increase by 1 (in the first iteration the implicit input is used)
  ©                 #  Store it in the register (without popping)
   Ð                #  Triplicate it
    ²÷              #  Divide it by the second input
      s             #  Swap so the value is at the top of the stack again
       ²*           #  Multiply it by the second input
         )          #  Wrap all the entire stack (all three values) to a list
          €{        #  Sort the digits for each of those lists
             ®s     #  Push the value from the register onto the stack again
            Ë       #  If all three lists are equal:
               #    #   Stop the infinite loop
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.