স্বনির্ভর শক্তি


13

পূর্ণসংখ্যা দেওয়া হয়েছে n, e1 টিরও বেশি ক্ষুদ্র ক্ষুদ্রতমকে আউটপুট করুন যার n^eমধ্যে nএকটি স্ট্রস্ট্রিং রয়েছে ।

উদাহরণস্বরূপ, জন্য 25, উত্তর হওয়া উচিত 2, যেমন 25 ^ 2 = 625, যা ধারণ করে 25একটি সাবস্ট্রিং হিসাবে, কিন্তু উত্তর 13হওয়া উচিত 10, যেমন 13 ^ 10 = 137858491849, তাই 10সর্বনিম্ন সূচক ফলাফলের যার জন্য রয়েছে 13একটি সাবস্ট্রিং হিসাবে।

বিধি

  • মান I / O নিয়ম
  • স্ট্যান্ডার্ড লুফোলস প্রযোজ্য
  • বাইটস মধ্যে সংক্ষিপ্ত কোড
  • n সর্বদা এর চেয়ে বড় পূর্ণসংখ্যা হবে 0

পরীক্ষার কেস

1 => 2   (1 ^ 2 = 1)
2 => 5   (2 ^ 5 = 32)
3 => 5   (3 ^ 5 = 243)
4 => 3   (4 ^ 3 = 64)
5 => 2   (5 ^ 2 = 25)
6 => 2   (6 ^ 2 = 36)
7 => 5   (7 ^ 5 = 16807)
8 => 5   (8 ^ 5 = 32768)
9 => 3   (9 ^ 3 = 729)
10 => 2  (10 ^ 2 = 100)
11 => 11 (11 ^ 11 = 285311670611)
12 => 14 (12 ^ 14 = 1283918464548864)
13 => 10 (13 ^ 10 = 137858491849)
14 => 8  (14 ^ 8 = 1475789056)
15 => 26 (15 ^ 26 = 3787675244106352329254150390625)
16 => 6  (16 ^ 6 = 16777216)
17 => 17 (17 ^ 17 = 827240261886336764177)
18 => 5  (18 ^ 5 = 1889568)
19 => 11 (19 ^ 11 = 116490258898219)
20 => 5  (20 ^ 5 = 3200000)
25 => 2  (25 ^ 2 = 625)
30 => 5  (30 ^ 5 = 24300000)
35 => 10 (35 ^ 10 = 2758547353515625)
40 => 3  (40 ^ 3 = 64000)
45 => 5  (45 ^ 5 = 184528125)
50 => 2  (50 ^ 2 = 2500)
55 => 11 (55 ^ 11 = 13931233916552734375)
60 => 2  (60 ^ 2 = 3600)
65 => 17 (65 ^ 17 = 6599743590836592050933837890625)
70 => 5  (70 ^ 5 = 1680700000)
75 => 3  (75 ^ 3 = 421875)
80 => 5  (80 ^ 5 = 3276800000)
85 => 22 (85 ^ 22 = 2800376120856162211833149645328521728515625)
90 => 3  (90 ^ 3 = 729000)
95 => 13 (95 ^ 13 = 51334208327950511474609375)
100 => 2 (100 ^ 2 = 10000)

পাইথন স্ক্রিপ্ট প্রথম 1000 উত্তর উত্পন্ন করার জন্য



উত্তর:



4

আর , 69 44 বাইট

function(n,i=2){while(!grepl(n,n^i))i=i+1;i}

বেনামে ফাংশন। বড় কাজ করে iযখন nBigZ (Tio দেখুন) রূপান্তরিত হয়। আমাকে জিউসেপ এবং ডিগএলএল কিছু শেখানোর জন্য ধন্যবাদ!

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


61 বাইট - আপনার একটি অতিরিক্ত জায়গা ছিল n, ?n^iএবং এটি ডিফল্ট অনুসারে pasteরূপান্তর characterকরে :-)
জিউসেপ

56 বাইট - ফেরত iযথেষ্ট হওয়া উচিত।
জিউসেপ

2
44 বাইট পেস্ট প্রয়োজন হয় না, গ্রেপল ডিফল্টরূপে চরিত্রে রূপান্তরিত হয় :)
digEmAll

সমস্যাটি হ'ল এটি "ত্রুটিযুক্ত" যখন ভাসমান পয়েন্টগুলির যথার্থতার কারণে এবং বিপুল সংখ্যক বৈজ্ঞানিক স্বরলিপিতে স্ট্রিংয়ে রূপান্তরিত হয় exp উদাহরণস্বরূপ 15 টি রিটার্ন 26 হবে যখন এটি হওয়া উচিত 26 সুতরাং, তাত্ত্বিকভাবে এটি কাজ করে তবে
বাস্তবে আমাদের

1
বিগইন্টের জন্য @ ডিজিজএল সব আপনি জিএমপি থেকে বিগজেডের মতো বড় ইনপুটকে জোর করতে পারেন এবং সম্ভবত এখনও iবিজেজেডে রূপান্তর করা ছাড়া এটি কাজ করা উচিত
জিউসেপ

3

পাইথন 2 , 42 41 বাইট

-1 বাইট আরজান জোহানসেনকে ধন্যবাদ (সরাসরি ফিরে yআসছেন)

f=lambda x,y=2:y*(`x`in`x**y`)or f(x,y+1)

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

ব্যাখ্যা / Ungolfed

আমরা সাফল্য না হওয়া পর্যন্ত 2,3... থেকে পুনরাবৃত্ত ফাংশন চেষ্টা করে :

# Start recursion with y=2
def f(x,y=2):
    # If we succeed, we arrived at the desired y
    if `x` in `x**y`:
        return y
    # Else we try with next y
    else:
        return f(x, y+1)

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



@ আরজান জোহেনসেন: অদ্ভুত, আমি ভেবেছিলাম আমি চেষ্টা করেছি, আমি কী মিস করেছি তা নিশ্চিত নয়। অনেক ধন্যবাদ!
ბიმო

কোনও স্থান এড়াতে আমাকে গুণকে অদলবদল করতে হয়েছিল, সম্ভবত এটিই ছিল?
janrjan জোহানসেন

@ আরজান জোহানসেন: সম্ভবত এটিই ছিল, হ্যাঁ।
ბიმო

3

জাভাস্ক্রিপ্ট (ES6 / নোড.জেএস),  41  40 বাইট

1 শাটগি ধন্যবাদ 1 বাইট সংরক্ষণ করা

সংখ্যার হিসাবে ইনপুট নেয় ( এন<15 জন্য কাজ করে ) বা বিগ আইন্ট আক্ষরিক।

n=>(g=x=>`${x*=n}`.match(n)?2:-~g(x))(n)

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



@ শেগি আপনার বড় সংখ্যক ব্যবহার করা উচিত, অন্যথায় এটি পরীক্ষার ক্ষেত্রে সঠিক উত্তরটি ফেরত পাবে না। শেষে এটির সমান বাইকোয়েন্ট n=>(g=x=>$ {x * = n} রয়েছে.match(n)?2n:-~g(x))(n)
লুইস

1
@ লুইসফেলিপডিজেস মুনোজ, সাধারণত আমাদের নির্ভুলতার বিষয়ে চিন্তা করার দরকার নেই তবে এটি বিগআইন্টসের সাথেও কাজ করবে।
শেগি

গৌণ জিনিস তবে এটি যদি বিগআইন্ট ব্যবহার করে তবে শিরোনামটি জাভাস্ক্রিপ্ট (নোড.জেএস) হওয়া উচিত নয়? ES6 এর এখনও বিগআইট নেই।
শিয়ারু আসাকোটো

@ শিরুআসাকোটো আপনি ঠিক বলেছেন আমার প্রাথমিক উদ্দেশ্যটি ছিল এটি ব্যাখ্যা করা যে এটি কোনও সংখ্যা বা বিগআইন্টের সাথে কাজ করে। এখন স্পষ্ট।
আর্নল্ড

3

এপিএল (ডায়ালগ ইউনিকোড) , 25 23 17 বাইট

-২ বাইটস @ এরিক আউটগল্ফারকে ধন্যবাদ

-6 বাইটস @ জিএনএনকে ধন্যবাদ

কোডটি কাস্টমের প্রয়োজন নেই বলে তৈরি করার জন্য @ এইচ.পি.উইজকে ধন্যবাদ ⎕pp(প্রিন্ট যথার্থতা)

⊢⍟×⍣(∨/(⍕÷)⍷0⍕⊣)⍨

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

⊢⍟×⍣(∨/(⍕÷)⍷0⍕⊣)⍨
  ×⍣(          )⍨ generates a geometric progression by repeatedly multiplying the argument
                   by its original value
     ∨/(⍕÷)⍷0⍕⊣   the progression stops when this function, applied between the new and the
                   last old member, returns true
         ÷        the original argument (ratio between two consecutive members)
                 formatted as a string
                 occurrences within...
            0    ...the formatted (with 0 digits after the decimal point)...
                 ...new member
     ∨/           are there any?
⊢⍟                use logarithm to determine what power of  we reached

এটি 17 এর জন্য ব্যর্থ হয়েছে কারণ এটি 1717 ^ 14 = 1.6837782655940093E17 এ খুঁজে পেয়েছে, তবে কী নির্ভুল উত্তরগুলির সমর্থন করা উচিত তার
আইডিক

@ কুইকাক্যাক আমাকে ঠিক নির্বিচারে সামঞ্জস্য করতে হবে ⎕PPআমার অনুমান
কুইনটেক

ওহ অপেক্ষা করুন এটি এমনকি কাজ করে না
কুইনটেক






2

এসএএস, 71 66 বাইট

সম্পাদনা করুন: ;run;শেষ পর্যন্ত সরানো হয়েছে, যেহেতু এটি ইনপুটগুলির শেষের দ্বারা আবদ্ধ।

data a;input n;e=1;do until(find(cat(n**e),cat(n)));e+1;end;cards;

cards;স্টেটমেন্টের পরে ইনপুট ডেটা প্রবেশ করা হয় , যেমন:

data a;input n;e=1;do until(find(cat(n**e),cat(n)));e+1;end;cards;
1
2
3
4
5
6
7
8
9
10
11
12
13
14

aইনপুট nএবং আউটপুট সমেত একটি ডেটাসেট উত্পন্ন করে e

এখানে চিত্র বর্ণনা লিখুন


এটি একটি ফাংশন সংজ্ঞা, বা সমতুল্য বলে মনে হচ্ছে (আমি আসলে একটি "ম্যাক্রো" ধরে নিই) এর অর্থ এটি যুক্তি দিয়ে ডাকা প্রয়োজন (যেমন %p(n)) সম্পূর্ণ জরিমানা, তবে macroএসএএস-এ থাকা মানগুলি ফিরে আসতে পারে কিনা তার উপর আউটপুট নির্ভর করে । যদি তারা ফিরে আসতে পারে তবে ফলাফলটি ফিরিয়ে দিয়ে "আউটপুট" হওয়া উচিত, অন্যথায় এটি স্ট্যান্ডার্ড আউটপুট পদ্ধতিটি সমর্থন করে যা এটি দ্বারা আউটপুট করা উচিত
স্কিডদেব

@ স্কিডসদেব প্রতিক্রিয়ার জন্য ধন্যবাদ! এসএএস কিছুটা অদ্ভুত; ম্যাক্রোগুলি আসলে ফাংশন নয়, তারা কেবল একটি পাঠ্য প্রতিস্থাপনের ভাষা যা সংকলিত হওয়ার পরে 'রিয়েল' এসএএস কোড উত্পন্ন করে। কোডগল্ফে এসএএস-এর জন্য অন্যান্য লোকেরা কীভাবে আমি / ও করেছি, এবং ম্যাক্রোর বিবৃতি থেকে মুক্তি পেয়ে তার ভিত্তিতে আমার উত্তরটি সম্পাদনা করেছি সে সম্পর্কে আমার নজর ছিল।
জোশ এলার


1

পরিষ্কার , 99 বাইট

import StdEnv,Text,Data.Integer
$n=hd[p\\p<-[fromInt 2..]|indexOf(""<+n)(""<+prod(repeatn p n))>=0]

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

যদি এটি বিশালাকার বিশাল সংখ্যার জন্য কাজ করার প্রয়োজন না হয় তবে

পরিষ্কার , 64 বাইট

import StdEnv,Text
$n=hd[p\\p<-[2..]|indexOf(""<+n)(""<+n^p)>=0]

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


1

জাভা (ওপেনজেডিকে 8) , 84 বাইট

সংখ্যাকে উপস্থাপন করে স্ট্রিং হিসাবে ইনপুট নেয় এবং কোনও ইনট আউটপুট দেয়।

বেশিরভাগ বাইটগুলি BigDecimalপ্রচুর সংখ্যক প্রক্রিয়াজাতকরণের প্রয়োজনীয়তার ভার্বোসটি থেকে আসে ।

n->{int i=1;while(!(new java.math.BigDecimal(n).pow(++i)+"").contains(n));return i;}

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


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

এটি মোটামুটি সহজ তবে আমি উত্তরসূরির জন্য ব্যাখ্যাটি অন্তর্ভুক্ত করব;

n->{                                    // Lamdba taking a String and returning an int
    int i=1;                            // Initialises the count
    while(!                             // Loops and increments until
        (new java.math.BigDecimal(n)    // Creates a new BigDecimal from the input n
            .pow(++i)+"")               // Raises it to the power of the current count
            .contains(n)                // If that contains the input, end the loop
    );
    return i;                           // Return the count
}




0

কাঠকয়লা , 19 বাইট

W∨‹Lυ²¬№IΠυθ⊞υIθILυ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

W∨‹Lυ²¬№IΠυθ⊞

তালিকার দৈর্ঘ্য কমপক্ষে 2 না হওয়া পর্যন্ত পুনরাবৃত্তি করুন এবং এর পণ্যটিতে ইনপুট রয়েছে ...

⊞υIθ

... পূর্ণসংখ্যাতে ইনপুট কাস্ট করুন এবং এটিকে তালিকায় চাপ দিন।

ILυ

স্ট্রিংয়ের জন্য তালিকার দৈর্ঘ্যটি কাস্ট করুন এবং স্পষ্টভাবে মুদ্রণ করুন।


0

পাইথন 3 , 63 58 বাইট

def f(n,e=2):
	while str(n)not in str(n**e):e+=1
	return e

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

পাইথন 2 সম্ভবত সংক্ষিপ্ত হবে, তবে আমি 3 ব্যবহার করতে চাই a ল্যাম্বডা দিয়ে আসা কঠিন, তবে আমি কয়েকটি বিষয় চেষ্টা করছি।


আমি পাইথন জানি না, তবে ল্যাম্বডা ব্যবহার করে খাটো করা হয় না?
লুইস ফেলিপ দে জেসুস মুনোজ

@ লুইসেলিপডিজেসুস মুনোজ আমি তা করার চেষ্টা শুরু করেছিলাম, কিন্তু আইডলই whileল্যাম্বডায় খালি থাকার অভিযোগ করেছিল । হতে পারে আমি অন্য কয়েকটি উপায়ে চেষ্টা করতে পারি ..
Gigaflop

হয়তো কিছু পুনরাবৃত্তি ফাংশন?
লুইস ফেলিপ দে জেসুস মুনোজ

2
eআর্গুমেন্ট-তালিকায় (উদাহরণস্বরূপ def f(n,e=2)) সংজ্ঞায়িত করা এবং n**eকিছু বাইট সংরক্ষণ করা উচিত, পাইথন 2 আসলে কিছু বাইট সংরক্ষণ করতে পারে।
3

@ লুইসেলিপডিজেসাস মুনোজ ল্যাম্বডাস ফাংশন পছন্দ করেন না। ল্যাম্বদার ডানদিকে একক অভিব্যক্তি হতে হবে এবং ফ্লো-কন্ট্রোল কমান্ডগুলি পছন্দ করে forবা whileকাজ করে না।
জেমস

0

ম্যাথগল্ফ , 10 বাইট

ôkï⌠#k╧▼ï⌠

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

ব্যাখ্যা

এটি অত্যন্ত অপব্যয় বোধ করে, স্পষ্টভাবে দু'বার ইনপুটটি পড়ে, দুবার লুপের কাউন্টারকে বাড়িয়ে দেয়।

ô            start block of length 6
 k           read integer from input
  ï          index of current loop, or length of last loop
   ⌠         increment twice
    #        pop a, b : push(a**b)
     k       read integer from input
      ╧      pop a, b, a.contains(b)
       ▼     do while false with pop
        ï    index of current loop, or length of last loop
         ⌠   increment twice


0

সি # (.নেট কোর) , 104 89 বাইট

a=>{int i=2;while(!(System.Numerics.BigInteger.Pow(a,i)+"").Contains(a+""))i++;return i;}

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

-1 বাইট: লুপের জন্য পরিবর্তিত হয়ে গেছে ( স্কিডসদেবকে ধন্যবাদ )
-১৪ বাইট: কলগুলি অপসারণ করতে সি # এর অদ্ভুত স্ট্রিং হ্যান্ডলিংকে অপব্যবহার করা হয়েছেToString()

সি # এর বিগইন্টিজার ব্যবহার করা দরকার লাইব্রেরিটি , কারণ স্ট্যান্ডার্ড সংখ্যাসূচক সি # ধরণের (ইন্ট, ডাবল, লং, উলং ইত্যাদি) কিছু বড় সংখ্যার (12, 15 এবং 17 সহ) ব্যর্থ হয়।

Ungolfed:

a => {
    int i = 2;                                          // initialize i

    while( !(System.Numerics.BigInteger.Pow(a,i) + "")  // n = a^i, convert to string
                                .Contains(a + ""))      // if n doesn't contain a
        i++;                                                // increment i

    return i;
}




0

পাওয়ারশেল (ভি 3 +), 67 বাইট

function f{param($n)$i=1;do{}until([math]::pow($n,++$i)-match$n)$i}



0

ওরাকল এসকিউএল, 68 বাইট

select max(level)+1 from dual,t connect by instr(power(x,level),x)=0

এমন একটি অনুমান আছে যে উত্স নম্বরটি একটি সারণীতে সংরক্ষণ করা হয় t(x), যেমন

with t as (select 95 x from dual)

এসকিউএল * প্লাসে পরীক্ষা করুন

SQL> with t as (select 95 x from dual)
  2  select max(level)+1 from dual,t connect by instr(power(x,level),x)=0
  3  /

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