এটি একটি আনন্দদায়ক সংখ্যা?


22

আনন্দদায়ক নম্বর (এই সংজ্ঞা অনুসারে) এমন একটি সংখ্যা যা নিম্নলিখিত প্রক্রিয়াটির মধ্য দিয়ে যেতে পারে (আসুন 41802000উদাহরণ হিসাবে ব্যবহার করুন ):

  • পেছনের অভিন্ন সংখ্যাগুলি পৃথক করুন ( 41802000 => [41802, 000])
  • অঙ্কগুলির প্রথমার্ধ বাছাই করুন এবং সর্বাধিক ( [41802, 000] => [8, 000]) নিন
  • চূড়ান্ত উপাদান দৈর্ঘ্য নিন। ফলস্বরূপ উপাদানগুলিকে এবং বি কল করুন ( [8, 000] => A=8, B=3)
  • এন বি = এ কি কোনও পূর্ণসংখ্যার জন্য N? ( Trueএই উদাহরণে; 2 3 = 8)

Trueনিম্নলিখিত প্রক্রিয়া থেকে যদি ইনপুট ফলাফল হয় , তবে এটি আনন্দদায়ক হিসাবে বিবেচিত হবে।

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

এটি একটি তাই বাইট জিতে সংক্ষিপ্ততম কোড ।

পরীক্ষার মামলা

          Input          Output
       41802000               1
            100               1
      123456788               0
      451111111               0
234543454545444               0
             12               1
       41902000               0
          92599               1

সংখ্যাটি স্ট্রিং হিসাবে পাস হতে পারে? (বিশেষ করে '234543454545444' পরীক্ষা ক্ষেত্রে দেওয়া হয়)
ঊরীয়েল

@ উরিল আপনি স্ট্রিং হিসাবে ইনপুট নিতে পারেন
21 'এ সংযুক্ত কায়ারড কোইনারিংহিংহিং

3
স্পষ্টতার জন্য একটি পরামর্শ হিসাবে: আমি "সংখ্যা" এর পরিবর্তে "অঙ্ক" শব্দটি ব্যবহার করব, আপনি বিশেষত দশমিক অক্ষরগুলিকে উল্লেখ করছেন, তাদের সংখ্যা মান থেকে বিমূর্ত হয়ে।
জোনাথন ফ্রেচ

list of digits- এটি ASCII সংখ্যার অক্ষরের একটি তালিকা বা 0-9 থেকে পূর্ণসংখ্যার তালিকা হবে
Οurous

1
@ Οurous আপনি
অবধি

উত্তর:


9

এপিএল (ডায়ালগ) , 36 বাইট

{(⊢≡⌊)(⌈/⍎¨⍵/⍨~o)*÷≢⍵/⍨o←⌽⌊\1,2=/⌽⍵}

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

কিভাবে?

প্রায় একটি কবিতা।

⌽⍵ - একবার ইনপুট বিপরীত করুন,

1,2=/ - পার্থক্য তালিকা পান।

⌊\ - কেবল প্রথম গ্রুপটি রাখুন,

- এবং এটি সম্পূর্ণরূপে ফ্লিপ করুন।


o←- নিয়োগ o,

~o - স্যুইচ করুন এবং শূন্য (গুলি),

⍵/⍨ - এটি দিয়ে ইনপুট ফিল্টার করুন,

⍎¨ - ফলাফলটি প্রতিটি অঙ্কের তালিকায় পরিণত করুন,

  • ⌈/- এবং সর্বোচ্চ পেতে। (আমার স্নাতকের)

⍵/⍨o- oআনল্ট (ered) দিয়ে ইনপুটটি ফিল্টার করুন ,

- এবং দৈর্ঘ্য নিন, এটি বি হবে B.

÷ - এই ফলাফল দ্বারা ভাগ করে নিন,

* - এবং আপনাকে এই শক্তিতে নিয়ে যান।


⊢≡⌊ - পূর্ণসংখ্যা?


8

05 এ বি 1 , 11 বাইট

γRćgUZXzm.ï

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

ব্যাখ্যা

ćRćgUZXzm.ï ~ সম্পূর্ণ প্রোগ্রাম।

of runs অঙ্কের মধ্যে বিভক্ত।
 আর ~ বিপরীত।
  ack st স্টকে একটি [1:], একটি [0] চাপুন।
   g ~ দৈর্ঘ্য (একটি [0] এর)।
    U this এটি পূর্ণসংখ্যা ভেরিয়েবল এক্স-এর জন্য বরাদ্দ করুন।
     জেডএক্স pop পপিং ছাড়াই সর্বোচ্চ পান এবং এক্স চাপুন without
       zm ~ এ 1 / বি ।
         .ï it এটা কি পূর্ণসংখ্যা?

এমিগিনা 1 বাইট সংরক্ষণ করেছেন।

এটিকে নির্ভর করে যে A যদি B এর শক্তিতে উত্থাপিত ধনাত্মক পূর্ণসংখ্যক N হয় , তবে N = A 1 / B , সুতরাং এটি অবশ্যই পূর্ণসংখ্যা হবে।


UZXএর পরিবর্তে কাজ করা উচিতs{θs
এমিগিনা

9-বাইট প্রোগ্রামটি ব্যর্থ 41902000(এটি মিথ্যা হওয়া উচিত)।
Zgarb

@Zgarb হাঁ আমি প্রায় নিশ্চিত করুন যে এটি ব্যর্থ হবে, তাই আমি এটি সরানো ছিল ... এছাড়াও তোমার আমরা সঠিক একই পূর্ণসংখ্যা পেয়েছিলাম
জনাব Xcoder

ব্যর্থ418802000
ওকেক্স

8

হাস্কেল , 85 75 72 71 বাইট

সম্পাদনা করুন : -10 বাইট স্ট্রিংয়ের পরিবর্তে অঙ্কের তালিকা নিয়ে এটি অনুমোদিত কিনা তা নির্দেশ করার জন্য হোয়াটটোডোকে ধন্যবাদ । -3 বাইট ক্লিনে আওয়ারস এর সমাধানকে ধন্যবাদ । -1 বাইট ব্যবহারকারী 28667 ধন্যবাদ ।

f s|(b,a)<-span(==last s)$reverse s=or[n^length b==maximum a|n<-[1..9]]

এটি অনলাইন চেষ্টা করুন! অঙ্কের তালিকা হিসাবে ইনপুট নেয়। ব্যবহারের উদাহরণ: f [4,1,8,0,2,0,0,0]ফলন True

ব্যাখ্যা:

একটি ইনপুট দেওয়া s=[4,1,8,0,2,0,0,0], আমরা reverseতালিকা এবং সঙ্গে নেতৃস্থানীয় উপাদান আলাদা span(==last s): ([0,0,0],[2,0,8,1,4])(b,a)ফলনের সাথে মেলে এমন প্যাটার্ন b=[0,0,0]এবং a=[2,0,8,1,4]

তালিকা ধী or[n^length b==maximum a|n<-[1..a]]কিনা তা পরীক্ষা কোন পূর্ণসংখ্যা nথেকে সীমার মধ্যে 1থেকে 9সন্তুষ্ট n^length b==maximum a, যে হয় n^3=8


আমার কাজ করার আগে আপনি আপনার পোস্ট করেছিলেন এবং আমাদেরও মিল, তাই: অনলাইনে চেষ্টা করে দেখুন!
হোয়াটটো 2

@ হোয়াটটোডো ধন্যবাদ, আমি দেখিনি যে অঙ্কগুলির তালিকা যেখানে ইনপুট হিসাবে অনুমোদিত।
লাইকোনি

আপনি সর্বাধিক নিতে পারবেন না। তাদের সমস্ত পরীক্ষা করার প্রয়োজন নেই।
টিম

@ টিম আমি নিশ্চিত না আপনি কী বলতে চাইছেন তা আমি বুঝতে পেরেছি। পুরো ইনপুট তালিকাটি সর্বাধিক গ্রহণ করা aযেমন ক্ষেত্রে ব্যর্থ হয় 477
লাইকনি

@Tim আমি পেতে সর্বাধিক গ্রহণ করবেন b, কিন্তু প্রতি পূর্ণসংখ্যা পরীক্ষা nথেকে 0থেকে 9(থেকে পূর্বে 0থেকে a)। যতদূর আমি দেখতে পাই ঠিক তেমন স্পেসিফিকেশন।
লাইকোনি

5

হাস্কেল , 104 89 বাইট

@ লাইকনি একটি সংক্ষিপ্ত সমাধান খুঁজে পেয়েছিল তবে আমি এটিই করতে পারি এটি সেরা। @ লাইকনি আমাকে জানতে দেওয়ার জন্য ধন্যবাদ যে আমরা অঙ্কের তালিকাটিকে ইনপুট হিসাবে গ্রহণ করতে পারি।

import Data.List
(g.length.last<*>maximum.concat.init).group
g b a=any(==a)$(^b)<$>[1..a]

ব্যাখ্যা:

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


any(==a)আপনি যখন ব্যবহার করতে পারেন কেন ব্যবহার করবেন elem a?
গম উইজার্ড

@ ওয়েট উইজার্ড আপনার দ্বিতীয় মন্তব্য সম্পর্কিত পরামর্শের জন্য ধন্যবাদ: এই উদাহরণস্বরূপ ব্যর্থ হবে না 2888?
flawr

হ্যাঁ মনে হচ্ছে আমি প্রশ্নটি ভুলভাবে পড়েছি। আমি অনুধাবন করতে পারি নি যে পিছনের সংখ্যাগুলি শূন্য ব্যতীত অন্য কিছু হতে পারে।
গম উইজার্ড

তবে head.maximumএটি এখনও maximum.concat2 বাইটের চেয়ে কম এবং কার্যকারিতা বজায় রাখে।
গম উইজার্ড

4

আর , 80 বাইট

function(x)any((0:(m=max((d=rle(rev(utf8ToInt(c(x,''))-48)))$v[-1])))^d$l[1]==m)

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

utf8ToInt - 48সংখ্যাটি অঙ্কগুলিতে বিভক্ত করতে ব্যবহার করে। এটি স্ট্রিংতে রূপান্তর থেকে একটি সতর্কতা ছুড়ে দেয়।

Rle ব্যবহার করে পিছনের অঙ্কগুলির গণনা এবং প্রথম সংখ্যাগুলির সর্বাধিক মান পান। ট্রিলিং কাউন্টের পাওয়ারের সর্বাধিক মানের 0 থেকে সর্বোচ্চ মানের যে কোনও মান সর্বাধিক মানের সমান হলে সত্যটি প্রত্যাবর্তন করুন।

আমার মনে হয় আরও গল্ফ করার সুযোগ রয়েছে তবে আগামীকাল পর্যন্ত এটি অপেক্ষা করতে পারে।


2
আমি আমার উত্তরটি মুছে ফেলেছি কারণ আমি দেখতে পাইনি যে আমার পোস্টটি কেবল আপনার উত্তর এবং @ এনওফপি'র সংমিশ্রণ করছে: function(x,R=rle(rev(utf8ToInt(x)-48)))!max(R$v[-1])^(1/R$l[‌​1])%%1( by 66 বাইট, xস্ট্রিং হিসাবে গ্রহণ করছে )
প্লেনাপাস

@ প্ল্যানাপাস ব্যক্তিগতভাবে আমি এটিকে মুছে ফেলতে চাই। এটি আমাদের উভয়ের তুলনায় একটি ভাল গণনা এবং সত্যই
কোনওর

@ প্ল্যানাপাস আমি মিকিটির সাথে একমত!
NofP

@ নোফপি এবং মিকিটি: ঠিক আছে, তবে এটি এখানে
প্ল্যানাপাস

4

জেলি , 11 বাইট

ŒgµṪL9*€fṀL

অঙ্কের তালিকা হিসাবে ইনপুট নেয়।

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

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

ŒgµṪL9*€fṀL  Main link. Argument: D (digit array)

Œg           Group runs of digits, yielding a run array R.
  µ          Begin a new chain with argument D.
   Ṫ         Tail; remove and yield the last element of D.
    L        Take the length. Let's call it b.
     9*€     Compute [1**b, ..., 9**b].
         Ṁ   Take the maximum run in R, yileding [a, ..., a].
        f    Filter, yielding either [a] (if a = n**b for some n) or [].
          L  Take the length. 

উত্তরগুলি দেখার আগে এবং জেলিকে কিছুতেই না জেনে আমি অনুমান করেছি যে জেলি উত্তরটি 12 বাইট হবে। ;)
DLosc

4

আর, 66 বাইট

এই উত্তরটি কমবেশি মিকিটি এবং নফপির উত্তরগুলির একটি মেডলে এবং তাদের অনুরোধে, এখানে:

function(x,R=rle(rev(utf8ToInt(x)-48)))!max(R$v[-1])^(1/R$l[1])%%1

এটি স্ট্রিং হিসাবে এক্স লাগে।

> f=function(x,R=rle(rev(utf8ToInt(x)-48)))!max(R$v[-1])^(1/R$l[1])%%1
> f("41802000")
[1] TRUE
> f("100")
[1] TRUE
> f("123456788")
[1] FALSE
> f("451111111")
[1] FALSE
> f("234543454545444")
[1] FALSE
> f("12")
[1] TRUE
> f("41902000")
[1] FALSE

3

জাভাস্ক্রিপ্ট (ES7), 66 বাইট

স্ট্রিং বা অক্ষরের অ্যারে হিসাবে ইনপুট নেয়। একটি বুলিয়ান ফেরত দেয়।

f=([c,...s],m)=>s.some(n=>n-c)?f(s,c<m?m:c):!(m**(1/-~s.length)%1)

পরীক্ষার মামলা



3

পাইথন 2 , 95 78 বাইট

  • সংরক্ষিত সতেরো ধন্যবাদ বাইট রড
def f(s,i=~0):
	while s[i]==s[~0]:i-=1
	return int(max(s[:-~i]))**(1./~i)%1==0

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


আপনার কোনও ধরণের দরকার নেই, আপনি কেবল সর্বোচ্চটি পেতে পারেন এবং যেহেতু আপনি ইতিমধ্যে পেয়েছেন iআপনি len পৌঁছে যাওয়া 78 বাইট
রড

@ রড অনেক ধন্যবাদ
জোনাথন ফ্রেচ

2

আর , 93 বাইট

function(x){n=nchar(x)
d=x%/%10^(n:1-1)%%10
i=max(which(d!=d[n]))
max(d[1:i])^(1/(n-i))%%1>0}

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

কোডটি ইনপুট হিসাবে পূর্ণসংখ্যা নেয় এবং নম্বরটি খুশী হলে FALSE প্রদান করে এবং অন্যথায় সত্য হয়।


2

পাইথন 3 , 88 85 বাইট

def f(n):p=n.rstrip(n[-1]);a=int(max(p));b=len(n)-len(p);return round(a**(1/b))**b==a

Ungolfed:

def is_pleasing_number( n ):
    prefix = n.rstrip(n[-1])
    a = int(max(prefix))
    b = len(n) - len(prefix)
    return round(a ** (1 / b)) ** b == a
  • ইনপুট আর্গুমেন্টটি একটি অঙ্কের স্ট্রিং হিসাবে প্রত্যাশিত
  • আউটপুট হয় হয় Trueবা হয় False
  • একই এখনো স্বাধীনভাবে বিকশিত করার Halvard এর উত্তর কিন্তু ভাসমান একটি উপায় যে ত্রুটি rounding ভোগা না, যে পর্যন্ত পয়েন্ট গাণিতিক ব্যবহারসমূহ a ** (1 / b)থেকে অন্তত 0.5 দ্বারা বন্ধ আছে √a যা 2 উপরে একটি মান প্রয়োজন 53 (অথবা যাই হোক না কেন ফ্লোটিং পয়েন্ট সোর্স এবং অংশক দৈর্ঘ্যের পাইথনটি ব্যবহার করতে হয়, দেখুন sys.float_info)।
  • 2 থেকে 36 এর মধ্যে স্বেচ্ছাসেবী সংখ্যা বেসগুলির সাথে কাজ করার জন্য তুচ্ছভাবে সংশোধন করা যেতে পারে।

@ ওভস: হ্যাঁ, একটি সামান্য পরিবর্তন সহ। ফাংশন একটি অতিরিক্ত আর্গুমেন্ট হিসাবে বেস নিতে এবং এটি আমন্ত্রণ পাস করতে হবে intএবং range। (এক পর্যায়ে a^(1/b)বিপুল পরিমাণে শক্তি গণনা করার চেয়ে অন্বেষণ ভিত্তিক অনুসন্ধানের পরিসরটি অনুমান করা আরও সম্ভাব্য হয়ে উঠবে ))
ডেভিড ফোস্টার

2

সি (জিসিসি) , 144 126 117 বাইট

j,k,m;f(char*N){N+=j=strlen(N);k=~j;for(j=-1;m=N[j--]==N[j];);for(;k++<j;)m=fmax(N[k],m);j=!fmod(pow(m-48,1./~j),1);}

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


1

রুবি , 64 বাইট

->a{!([a[/(\d)\1*$/].size,$`.chars.max]*?x!~/x1$|^2x[49]|^3x8/)}

একটি স্ট্রিং হিসাবে ইনপুট, সত্য ফিরে আসে যদি:

  • বি == ১ (এটিকে পরীক্ষা করার দরকার নেই)
  • এ == 4 এবং বি == 2
  • এ == 9 এবং বি == 2
  • এ == 8 এবং বি == 3

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


1

পার্ল 6 , 55 বাইট

{m/(\d+?)((\d)$0*)$/;so any(^10)**$1.comb==$0.comb.max}

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

প্রাথমিক রেজেক্সের মূল্যায়নের পরে - যা কেবলমাত্র তখনই সফল হতে পারে যদি ইনপুটটি ইতিবাচক পূর্ণসংখ্যা হয় - $0এতে সংখ্যার প্রাথমিক অংশ $1থাকে এবং এতে পিছনের পুনরাবৃত্ত সংখ্যা থাকে।

combআর্গুমেন্ট ছাড়া পদ্ধতি, একটি স্ট্রিং প্রয়োগ, অক্ষরের একটি তালিকা ফেরৎ যা তালিকার দৈর্ঘ্যের সাংখ্যিক প্রসঙ্গ মূল্যায়ন হবে। সুতরাং $0.comb.maxprefix মধ্যে ডিজিটের বৃহত্তম, এবং $1.combপ্রত্যয় দৈর্ঘ্য হয়।

এরপরে আমরা যাচাই করি any(^10)(যেমন, ০-৯ থেকে সংখ্যার বা সংযোগ), যখন প্রত্যয়ের দৈর্ঘ্যের শক্তিতে উত্থাপিত হয়, উপসর্গের বৃহত্তম অঙ্কের সমান হয় কিনা। soবাহিনী ফলে জংশন, যা অন্যথায় শুধু একটি truthy মান হিসাবে তার নিজের উপর জরিমানা হতে হবে বুলিয়ান মূল্যায়ন, কিন্তু দুটি স্বতন্ত্র মানের জন্য চ্যালেঞ্জ কল ফেরত পাঠানো হয়।


এটি দেরি হয়ে গেছে, তবে যেহেতু ইনপুটটি পূর্ণসংখ্যা হিসাবে গ্যারান্টিযুক্ত তাই রেজেক্স .পরিবর্তে ব্যবহার করতে পারে \d
ডিএলসাস



1

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

n=>{int A=0,B=1,s=1,i=n.Length-1;for(;i-->0;)if(n[i]==n[i+1]&s>0)B++;else{A=n[i]>A?n[i]:A;s=0;}return System.Math.Pow(A,1d/B)%1==0;}

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

প্রাপ্তি স্বীকার

-12 বাইটস @ কেভিন ক্রুজসেনকে ধন্যবাদ thanks

DeGolfed

n=>{
    int A=0, // maximum digit
        B=1, // count of trailing identical numbers
        s=1, // 1 if dealing with trailing numbers, 0 otherwise
        i=n.Length-1;

    for(; i-- > 0;)
        if(n[i] == n[i+1] & s > 0)
            B++;
        else
        {
            A = n[i] > A? n[i] : A;
            s = 0;
        }

    return Math.Pow(A, 1d/B) % 1 == 0;
}

আমি জানি এটি কিছুক্ষণ হয়েছে, তবে i=n.Length-2;for(;i>=0;i--)গল্ফ করা যেতে পারে i=n.Length-1;for(;i-->0;)এবং এতে &&গল্ফ করা যায় &
কেভিন ক্রুইজসেন

ওহ, এবং আপনি সরাসরি আরও using System;ব্যবহার করে আরও 6 বাইট গল্ফ করতে পারেন System.Math.Pow
কেভিন ক্রুইজসেন

ত্য জ্যজ্জকিজ. আপনি বর্তমানে অক্ষরগুলির একটি তালিকা নিয়েছেন তবে এটিতে অঙ্কের তালিকাও নেওয়ার অনুমতি রয়েছে। এই ক্ষেত্রে -48-3 বাইট জন্য গল্ফ করা যেতে পারে।
কেভিন ক্রুইজসেন 12

1

জাপট , 26 18 বাইট

ó¶
o l
ñ o n qV v1

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


স্ট্রিং হিসাবে ইনপুট নেয়, 1আনন্দদায়ক সংখ্যাগুলির জন্য ফেরত দেয় ,0 অন্যথায় ।

সংক্ষিপ্ত ব্যাখ্যা:

ó¶

প্রথম ইনপুট নিন এবং যেখানে মান সেখানে এটি ভাগ করুন (x,y) => x===y। উদাহরণস্বরূপ '41802000'করার ['4','1','8','0','2','000']

o l

প্রথম পদক্ষেপ থেকে অ্যারে নিন, শেষ উপাদানটি সরান এবং তার দৈর্ঘ্য পান, ফলনকারী বি

ñ o n qV v1

ফলনকারী অবশিষ্ট অ্যারের বৃহত্তম উপাদানটি সন্ধান করুন, এ প্রদান করে , এটিকে শক্তিতে নিয়ে যান 1/Bএবং ফলাফল যদি এক দ্বারা বিভাজ্য হয় তবে ফিরে আসুন।


প্রথমবার জাপ্টের সাথে কাজ করা, যে কোনও প্রস্তাবনার জন্য খুব খোলামেলা। ইটিএইচ প্রডাকশনগুলিতে
ধন্যবাদ 8 বাইট বন্ধ ।


আরে, জাপটে আপনাকে স্বাগতম! দুঃখিত আমি প্রথমে আপনার উত্তরগুলি মিস করেছি। কয়েকটি টিপস: ১) প্রথম লাইনটিকে ন্যায়বিচারে রূপান্তর করতে আপনি একটি অটো-ফাংশন ব্যবহার করতে পারেন ó¶। 2) নিশ্চিত হতে পারছি না কেন আপনি vদ্বিতীয় লাইনে, যেমন এটি শুধু স্ট্রিং ছোট হাতের অক্ষরে রূপান্তর এবং দৈর্ঘ্য ;-) 3) আপনি এড়াতে পারেন কোনো প্রভাব নেই !(Uপরিবর্তন করে গত লাইনে %1থেকে v1, যা আয় 1বিষয় যদি 1 বা 0অন্যথায় বিভাজ্য ।
ইটিএইচ প্রডাকশনস

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


0

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

≔ESιθ⊞υ⊟θW⁼§υ⁰§θ±¹⊞υ⊟θ¬﹪XI⌈θ∕¹Lυ¹

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

≔ESιθ

qঅক্ষরগুলিতে ইনপুট বিভক্ত করুন ।

⊞υ⊟θ

শেষ অক্ষরটি এখান থেকে সরান qএবং এটিকে u(খালি তালিকার পূর্বনির্ধারিত) টিপুন।

W⁼§υ⁰§θ±¹⊞υ⊟θ

এর সর্বশেষ অক্ষরের qপ্রথম অক্ষরটি পুনরাবৃত্তভাবে পপ করুন এবং চাপুন u

¬﹪XI⌈θ∕¹Lυ¹

সর্বাধিক অঙ্ক নিন qএবং এটির দৈর্ঘ্যের পারস্পরিক ক্রিয়াকলাপে উত্থাপন করুন u, তারপরে ফলাফলটি পূর্ণসংখ্যা কিনা তা পরীক্ষা করুন।




0

জাভা 8, 125 বাইট

a->{int A=0,B=1,f=1,i=a.length-1;for(;i-->0;)if(a[i]==a[i+1]&f>0)B++;else{A=a[i]>A?a[i]:A;f=0;}return Math.pow(A,1d/B)%1==0;}

@ আইয়ব 4 বিটিউ এর সি # পোর্ট। নেট উত্তর । ।

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

ব্যাখ্যা:

a->{                       // Method with digit-array parameter and boolean return-type
  int A=0,                 //  Maximum digit `A` as specified in the challenge description
      B=1,                 //  `B` as specified in the challenge description
      f=1,                 //  Flag-integer, starting at 1
      i=a.length-1;        //  Index integer `i`
  for(;i-->0;)             //  Loop `i` backwards over the digits (excluding the last)
    if(a[i]==a[i+1]        //   If the current and next digits are the same,
       &f>0)               //   and the flag is still 1
      B++;                 //    Increase `B` by 1
    else{                  //   Else:
      A=a[i]>A?            //    If the current digit is larger than `A` 
         a[i]              //     Replace `A` with the current digit
        :                  //    Else:
         A;                //     Leave `A` the same
      f=0;}                //    Set the flag-integer to 0
  return Math.pow(A,1d/B)  //  Return if `A` ^ (1/`B`)
    %1==0;}                //  is an exact integer


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