একটি স্ট্রিং থেকে সবচেয়ে ছোট প্রাইমটি সন্ধান করুন


17

1946 সালে এরদোস এবং কোপল্যান্ড প্রমাণ করেছেন যে একটি নির্দিষ্ট সংখ্যা একটি সাধারণ সংখ্যা , অর্থাত্ দশমিক প্রসারিত অঙ্কগুলি সমানভাবে বিতরণ করা হয়।

ব্যবহারকারীরা অঙ্কগুলির একটি ক্রম ইনপুট করবে এবং আপনি সবচেয়ে ছোট প্রাইমটি পাবেন যা বেস 10 এ স্ট্রিংটি ধারণ করে।

উদাহরণ:

input   -> output
"10"    -> 101
"03"    -> 103
"222"   -> 2221
"98765" -> 987659

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

সম্পাদন করা

নীচে কয়েকটি মতামত অনুসারে, "03" থাকা ক্ষুদ্রতম প্রাইমটি 3 হয় এটি কি সত্যই কোনও পার্থক্য করে? আমি কেবল ভাবতে পারি যে স্ট্রিংয়ের চেয়ে সংখ্যাগুলি হ্যান্ডেল করা সহজ।

"03" এর মতো ক্ষেত্রে পছন্দসই আউটপুট 103 হবে However তবে, আমি এটিকে আপনার প্রোগ্রামের মৌলিক অংশ হিসাবে বিবেচনা করি না, সুতরাং আপনি যদি কোনও কম বাইট গণনা মঞ্জুর করেন তবে আপনি কোনও অগ্রণী শূন্যকে অবহেলা করতে পারবেন না।


5
এটি প্রোজেক্ট অলারের কাজের জন্য দুর্দান্ত বেসের মতো বলে মনে হচ্ছে
জন ডিভোরাক

"03" সমন্বিত ক্ষুদ্রতম প্রাইম 03 হয় Maybe সম্ভবত আপনার একটি নিয়ম যুক্ত করা উচিত যা স্পষ্ট করে যে ইনপুটটিতে নেতৃস্থানীয় শূন্য থাকতে পারে তবে আউটপুট নাও থাকতে পারে।
স্তর নদী সেন্ট

2
@ স্টেভেরিলিলের মতো 03 নম্বর নেই you যদি আপনি 3 বোঝাতে চান তবে এতে "03" নেই।
জন ডিভোরাক

3
@ জনডভোরাক ০.৩ 3. সংখ্যাটির একটি বৈধ উপস্থাপনা (২.৯ ... পুনরাবৃত্ত, 2 + 9/9 এর সমতুল্য, কিছুটিকে বৈধ উপস্থাপনা হিসাবেও বিবেচনা করা হয় given) প্রদত্ত উদাহরণ থেকে আমি বুঝতে পারি যে 03 টি গ্রহণযোগ্য নয় এই প্রশ্নের প্রতিনিধিত্ব। এটি একটি প্যাডেন্ট পয়েন্ট, তবে নিয়মগুলির যথাযথ অপব্যবহারের পরে, আমি মনে করি এটি তৈরি করা উপযুক্ত।
লেভেল রিভার সেন্ট

1
আমার মনে হয় বাক্যাংশের আরও ভাল উপায় হ'ল সবচেয়ে ক্ষুদ্রতম সংখ্যাটি সন্ধান করতে হবে যা স্ট্রিংয়ে রূপান্তরিত হলে "03" থাকে।
Thebluefish

উত্তর:


13

Golfscipt, 33 32 বাইট = -18 স্কোর

2{:x,2>{x\%!},!!x`3$?)!|}{)}/;;x

ব্যাখ্যা:

  • 2{...}{)}/- 2কিছু সত্য হওয়ার সাথে সাথে শুরু করে , স্ট্যাকের শীর্ষটিকে বাড়িয়ে দিন
  • ;;x- সংগ্রহ করা মধ্যবর্তী মানগুলি {}{}/এবং ইনপুটটি বাতিল করুন, তারপরে সেখানে সর্বশেষ মানটি পরীক্ষা করা হবে

  • :x,2>- মান সংরক্ষণ যেমন x, তারপর থেকে একটি তালিকা উত্পাদন 2করতেx-1

  • {x\%!},!!- xএগুলি যা দ্বারা বিভাজ্য তা রাখুন, তারপরে বুলিয়ানকে বাধ্য করুন (খালি নয়)
  • x`3?)!- পাঠ্য ফর্মের ইনপুটটি সন্ধান করুন x( -1যদি পাওয়া না যায়), বৃদ্ধি, অবহেলা।
  • | - বা

7

হাস্কেল প্রোগ্রাম, 97 টি অক্ষর = 47 স্কোর

main=getLine>>= \i->print$head$[x|x<-[2..],all((/=0).mod x)[2..x-1],i`Data.List.isInfixOf`show x]

হাসেল ফাংশন, 75 টি অক্ষর = 25 স্কোর

p i=head$[x|x<-[2..],all((/=0).mod x)[2..x-1],i`Data.List.isInfixOf`show x]

ধরণ pহয় (Integral a, Show a) => [Char] -> a। আপনি যদি নিজের নিজস্ব অবিচ্ছেদ্য প্রকার সরবরাহ করেন তবে আপনি সেই মানগুলির নিজস্ব উপস্থাপনে ইনফিক্স দ্বারা অনুসন্ধান করতে পারেন। মানটি Integerপূর্ণসংখ্যার জন্য প্রত্যাশিত দশমিক স্বীকৃতি ব্যবহার করে।

খুব দ্রুত নয়। আউটপুটের মান (আকার নয়) চতুর্ভুজ।

অবারিত সংস্করণ:

import Data.List
leastPrime infix = head $ filter prime' [2..]
  where prime' x  = all (\n-> x`mod`n /= 0) [2..x-1]
                 && i `isInfixOf` show x
main = print . leastPrime =<< getLine

উদাহরণ:

Prelude> let p i=head$[x|x<-[2..],all((/=0).mod x)[2..x-1],i`Data.List.isInfixOf`show x]
Prelude> p "0"
101
Prelude> p "00"
1009
Prelude> p "000" -- long pause
10007

3

জাভা - 175 টি অক্ষর।

class s{public static void main(String[]a){int i,n=2,p;for(;;){p=1;for(i=3;i<n;i++)if(n%i==0)p=0;if((n==2||p>0)&&(""+n).indexOf(a[0])>=0) {System.out.println(n);break;}n++;}}}

আপনি indexOf(a[0])>=0)এবং এর মধ্যে স্থান ফেলে দিয়ে 1 টি অক্ষর বাঁচাতে পারবেন {System.out.println(n)
প্রোগ্রামফক্স

@ প্রোগ্রামফক্স ধন্যবাদ
ওয়াইল্ডকার্ড

আমি মনে করি আপনি নিজের boolean p=trueমতো করে অন্য কিছু প্রতিস্থাপন করে সহজেই (প্রায় 8) অক্ষর সংরক্ষণ করতে পারেন int p=1
ফ্লোরিয়ান এইচ

আপনার সমস্ত কক্ষ একবারে ঘোষণা করা আপনার প্রোগ্রামের আকার আরও কমাবে।
অলিভিয়ের

3

গণিত 58

(n=1;While[StringCases[ToString[p=Prime@n],#]=={},n++];p)&

আমার ম্যাক সম্পর্কিত আপেক্ষিক সময় (8 জিবি মেমরি সহ 2.6 গিগাহার্টজ আই 7)।

"01" ধারণকারী ক্ষুদ্রতম প্রাইমটি সন্ধান করুন।

AbsoluteTiming[(n = 1; While[StringCases[ToString[p = Prime@n], #] == {}, n++]; p) &["01"]]

{0.000217, 101}


"012345" ধারণকারী ক্ষুদ্রতম প্রাইমটি সন্ধান করুন।

AbsoluteTiming[(n = 1; While[StringCases[ToString[p = Prime@n], #] == {}, n++]; p) &["012345"]]

{5.021915, 10123457}


"0123456" ধারণকারী ক্ষুদ্রতম প্রাইমটি সন্ধান করুন।

AbsoluteTiming[(n = 1; While[StringCases[ToString[p = Prime@n], #] == {}, n++]; p) &["0123456"]]

{87.056245, 201234563}


আপনি StringFreeQএটি খাটো করতে ব্যবহার করতে পারেন ।
আলেফাল্ফ

2

Ageষি , 72

ইন্টারেক্টিভ প্রম্পটে চলছে

a=raw_input()
i=0
p=2
while a not in str(p):i+=1;p=Primes().unrank(i)
p

Primes().unrank(i)0 iতম প্রাইমটি 2 এর সাথে প্রথম সংখ্যাটি দেয় ।


2

আর, 56chars -50 = 6

k=2;n=scan(,"");while(!grepl(n,k)|sum(!k%%2:k)>1)k=k+1;k

স্টিডিন হিসাবে ইনপুট নিন। K অগ্রিম হওয়া অবধি K বৃদ্ধি (উদাহরণস্বরূপ সংক্ষেপে পরীক্ষিত যার জন্য কে মোড 2 থেকে কে জিরো, সুতরাং ফলস যেহেতু 0 টি লজিকাল রূপান্তরিত হয় তাকে FALSE) এবং ইনপুট হিসাবে দেওয়া স্ট্রিং থাকে (একটি সাধারণ গ্রেপের সাথে পরীক্ষিত, এখানে গ্রেপল যেহেতু আমরা ফলাফল হিসাবে একটি যৌক্তিক চাই)।

ব্যবহার:

> k=2;n=scan(,"");while(!grepl(n,k)|sum(!k%%2:k)>1)k=k+1;k
1: "03"
2: 
Read 1 item
[1] 103
> k=2;n=scan(,"");while(!grepl(n,k)|sum(!k%%2:k)>1)k=k+1;k
1: "003"
2: 
Read 1 item
[1] 2003

2

শেল অনেলিনার (কোর্টিলস): 45chars

এখানে কোনও ফাংশন সংজ্ঞায়িত করা হচ্ছে না ... কেবলমাত্র একটি অনিলাইনার যা একটি যুক্তি গ্রহণ করে $nএবং পূর্ণসংখ্যা ব্যাপ্তিটি স্ক্যান করে (কোডটি সংক্ষিপ্ত করতে আরও কিছুটা বেশি)। 55 টি চরিত্রের সংস্করণ:

seq 5e9|grep $n|factor|awk '{if(NF==2)print $2}'|head -n1

এটি খুব ধীরও নয়। জন্য n=0123456এটা ফেরৎ 201234563মধ্যে81.715s । এটি দুটি স্ট্রিং প্রসেসর সহ একটি দীর্ঘ পাইপলাইনের জন্য চিত্তাকর্ষকভাবে দ্রুত।

দুটি অক্ষর (53 এর নিচে) এবং একটি পাইপ অপসারণ করা হচ্ছে, আমরা এটি আরও দ্রুত চালিত করতে পারি:

seq 5e9|grep $n|factor|awk '{if(NF==2){print $2;exit}}'

এবং পরিশেষে, কিছু sedজাদুকরী এটিকে 45 টি অক্ষরে নামিয়ে আনার জন্য , যদিও মুদ্রণটি কুৎসিত:

seq 5e9|grep $n|factor|sed -n '/: \w*$/{p;q}'

n = 000 -> 10007: 10007 (ব্যবহারকারী 0.017 গুলি)

n = 012345 -> 10123457: 10123457 (ব্যবহারকারী 7.11 সে)

n = 0123456 -> 201234563: 201234563 (ব্যবহারকারী 66.8 সে)


2

জে - 38 চর -50 = -12 পিটিএস

সাধারণত জে তে, আপনি প্রাইমগুলিকে উত্সর্গীকৃত খুব অনুকূলিত বিল্টিনগুলি ব্যবহার করবেন, সুতরাং আমি মৃত্যুদণ্ড কার্যকর করতে কোনও অলসতার জন্য ক্ষমা চাইব না।

>:@]^:(>./@(E.":)*:]=*/@(+.i.)@])^:_&2

ব্যাখ্যা:

  • >:@]^:(...)^:_&2- 2 দিয়ে শুরু করে, (...)মিথ্যা ফেরত না দেওয়া পর্যন্ত ইনক্রিমেন্ট ।
  • (+.i.)@]- এর চেয়ে ছোট প্রতিটি পূর্ণসংখ্যার সাথে কাউন্টারটির জিসিডি নিন। (আমরা কনভেনশন জিসিডি (এক্স, 0) = এক্স ব্যবহার করি)
  • ]=*/@- এই সমস্ত সংখ্যার পণ্য নিন এবং কাউন্টারে সমতার জন্য পরীক্ষা করুন। যদি কাউন্টারটি প্রধান হয় তবে তালিকাটি জিডিসি 0 বাদে সমস্ত 1 এস ছিল; অন্যথায় কমপক্ষে একটি জিসিডি থাকবে যা 1 এর চেয়ে বেশি, তাই পণ্যটি কাউন্টারের চেয়ে বেশি হবে।
  • >./@(E.":)- কাউন্টারের স্ট্রিং প্রতিনিধিত্ব ":( E.) এর যে কোনও বিন্দুতে ( ) স্ট্রিং রয়েছে কিনা তা পরীক্ষা করুন । >./এটি সর্বাধিক ফাংশন, এবং আমরা এটি ব্যবহার করি কারণ E.মূল স্ট্রিংটিতে স্ট্রস্ট্রিং শুরু হয় যেখানেই 1 দিয়ে একটি বুলিয়ান ভেক্টর প্রদান করে।
  • *:- যৌক্তিক ন্যান্ড ফলাফল একসাথে। এটি কেবলমাত্র মিথ্যা হবে যদি উভয় ইনপুট সত্য হয়, অর্থাত্ যদি কাউন্টার দুটিই প্রধান হয় এবং এর মধ্যে স্ট্রিং থাকে।

ব্যবহার:

   >:@]^:(>./@(E.":)*:]=*/@(+.i.)@])^:_&2 '03'
103
   >:@]^:(>./@(E.":)*:]=*/@(+.i.)@])^:_&2 '713'
2713

উত্তরসূরীদের জন্য, এখানে প্রাইম বিল্টিন (30 চর দীর্ঘ, তবে কোনও বোনাস নেই) ব্যবহার করে সংস্করণটি দেওয়া হয়েছে:

>:@]^:(>./@(E.":)*:1 p:])^:_&2

1 p:] জিসিডি ট্রিকের পরিবর্তে কাউন্টারটি আদিমতার জন্য পরীক্ষা করে।


2

ব্র্যাচল্যাগ (ভি 2), ব্র্যাচল্যাজের এনকোডিংয়ে 3 বাইট

ṗ≜s

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

ফাংশন সাবমিশন, ডান হাতের যুক্তি থেকে ইনপুট নেওয়া, বাম-হাতের আর্গুমেন্টকে রূপান্তরিত করে আউটপুট দেয়। (এটি সাধারণ ব্র্যাচল্যাগ সম্মেলনের বিপরীত; এই মেটা পোস্টটি দেখুন আরও আলোচনার জন্য দেখুন the আরও সাধারণ অর্ডারে তর্কগুলি অদলবদলে তিন বাইট খরচ পড়বে would) টিআইও লিঙ্কটিতে একটি মোড়ক রয়েছে যা উপযুক্ত কলিং কনভেনশন এবং প্রিন্টগুলির সাথে ফাংশনটিকে ডাকে calls ফলাফল.

ব্যাখ্যা

ṗ≜s
 ≜   Find the integer closest to zero
ṗ      which is prime {implicit: and output it via the left argument}
  s    and which is a substring of the {right argument}

দুঃখের বিষয়, ব্র্যাচল্যাগ এই সমস্যার পক্ষে এতটাই উপযুক্ত যে সমস্যার নিয়ম অনুসারে, আমি বোনাসের জন্য যাওয়ার চেষ্টাও করতে পারি না (যার বিদ্রূপের অর্থ এটি জয়ের পক্ষে অক্ষম)।

আমি ব্র্যাচ্ল্যাগকে এত বেশি পছন্দ করার একটি কারণ হ'ল প্রোগ্রামিং হ'ল মানব এবং কম্পিউটারের মধ্যে একটি যোগাযোগ এবং সুতরাং একটি "নিখুঁত" ভাষা আপনাকে কেবলমাত্র ইংরেজী ভাষায় সমস্যার স্পেসিফিকেশন অনুবাদ করতে দেয়; যে ধারণাগুলির মাধ্যমে সমস্যাটি বর্ণিত হয়েছিল, এবং যার মাধ্যমে প্রোগ্রামটি লিখিত হয়েছে, একই হবে। ব্র্যাচল্যাগ প্রায়শই আশ্চর্যজনকভাবে এই আদর্শটিকে আঘাত করতে পারে; এখানে প্রশ্নটি "একটি প্রদত্ত সাবস্ট্রিংযুক্ত ক্ষুদ্রতম প্রাইমটি সন্ধান করুন" এবং আমি আক্ষরিক অর্থে "ক্ষুদ্রতম, প্রাইম, সাবস্ট্রিং সমেত" ধারণাগুলি সঠিক ক্রমে একত্রিত করতে পারি এবং একটি কার্যনির্বাহী প্রোগ্রাম রাখতে পারি। যেমন, ব্র্যাচল্যাগ যোগাযোগের প্রকৃতি সম্পর্কে এমন অনেক ভাষা বলেছেন যা আপনার সমস্যার সমাধানের জন্য আপনাকে স্পষ্টভাবে একটি অ্যালগরিদম নির্দিষ্ট করতে হয়েছিল; কখনও কখনও অন্য মানুষের সাথে কথা বলার সময়, সমস্যার সমাধানের জন্য আপনি যে পদক্ষেপগুলি গ্রহণ করেছেন তা ব্যাখ্যা করে আমরা কোনও সমস্যা ব্যাখ্যা করার চেষ্টা করি, তবে এটি বিরল। তাহলে আমাদের ভাষাগুলি আলাদা হওয়া উচিত কেন?


1

জাভাস্ক্রিপ্ট 83 বাইট = 33 স্কোর

Golfed:

for(s=prompt(n=x=0);!n;x++)for(n=(''+x).match(s)?2:0;n&&n<x;n=x%n?n+1:0);alert(x-1)

অবরুদ্ধ (কিছুটা):

s=prompt() // get the input
n = 0
for(x=0;!n;x++) // stop when n is non-zero
    if ((''+x).match(s)) { // if x matches the pattern, check if x is prime
        for(n=2;n&&n<x;)
            n = (x%n == 0) ? 0 : n+1; // if x%n is zero, x is not prime so set n=0
        // if n is non-zero here, x is prime and matches the pattern
    }
alert(x-1)

0

জাভাস্ক্রিপ্ট (নোড.জেএস) - 93 বাইট = 43 পয়েন্ট

l:for(i=x=process.argv[2];j=i;i++){while(--j>2)if(!(i%j*(""+i).match(x)))continue l
throw i}

বোধগম্য ভেরিয়েবলের নাম সহ উত্তোলিত আকারে:

outerLoop:for (currentTry=inputNumber=process.argv[2]; primeIterator=currentTry; currentTry++ ) {
    while (--primeIterator > 2) 
        if(!(currentTry % primeIterator * (""+currentTry).match(inputNumber)))
            continue outerLoop;
    throw i
}

0

মরিচা 0.9 136 বাইট = 86 পয়েন্ট

fn main(){
   let mut n:u32=2;
   while n.to_str().find_str(std::os::args()[1])==None ||
         range(2,n).find(|&x|n%x==0)!=None {
      n=n+1;
   }
   print!("{}",n);
}

সংক্ষিপ্ততার জন্য সত্ত্বেও খুব স্পষ্ট। স্ট্রিং সন্ধানে খুব বেশি জায়গা ব্যয় হয়েছে। :(

এখানে সাদা স্থান (136 চর) ছাড়াই সংস্করণ

fn main(){let mut n:u32=2;while n.to_str().find_str(std::os::args()[1])==None||range(2,n).find(|&x|n%x==0)!=None{n=n+1;}print!("{}",n);}



0

পার্ল 6 , 36 - 50 = -14 পয়েন্ট

{$^a;first {/$a/&&$_%%one ^$_},2..*}

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

বিবেচনা $_%%one ^$_করা কেবলমাত্র 2 বাইটের চেয়ে ছোট বড় .is-prime, আমি মনে করি এটি বোনাসের জন্য উপযুক্ত। এবার শেষ পরীক্ষার মামলার বাইরে চলে গেল।

ব্যাখ্যা:

{                                  }  # Anonymous code block
 $^a;                                 # Assign input to $a
     first                    ,2..*   # Find the first number
           {                 }        # Which
            /$a/                        # Contains the input
                &&                      # And
                  $_%%one ^$_           # Is prime

2 বাইট ছোট?
এএসসিআইআই-

এই প্রশ্নের যে অংশটিতে LOL @ বলেছেন যে "দয়া করে এটির সাথে প্রতারণা করার চেষ্টা করবেন না, যদি আপনার ভাষার ইতিমধ্যে বিশাল সুবিধা রয়েছে তবে বোনাসটি দাবি করবেন না।"
এএসসিআইআই-

@ এএসসিআইআই-হ্যাঁ, আমি এখনও গল্ফস্ক্রিপ্টের দ্বারা পরাজিত, তাই ...:$
জো কিং

0

পাইথন 3 , 80 79 বাইট - 50 = 30 29 স্কোর

-1 বাইট ধন্যবাদ %sপরিবর্তে এর পরিবর্তে @ ASCII- এর সৃজনশীল ব্যবহারের জন্য ধন্যবাদstr

"98765" পরীক্ষার কেসটি পরীক্ষার জন্য কতক্ষণ সময় লাগছে তা এখনও নিশ্চিত হওয়া যায়নি "98765" পরীক্ষার ক্ষেত্রে কয়েক ঘন্টা পরে হলেও একই ধরণের পদ্ধতির সাথে শর্ট সার্কিট মূল্যায়নকে কাজে লাগে কিছু প্রাথমিকতা এড়াতে অনেক দ্রুত. বিকল্পভাবে, এটি as 2x হিসাবে দ্রুত হতে পারে যদি আমরা জানি যে "2" কোনও ইনপুট নয় ( i=3প্রাথমিকতার জন্য এমনকি সংখ্যাগুলি পরীক্ষা করা এড়াতে পারি) i+=2কোনও অতিরিক্ত বাইট ব্যয় ছাড়াই, প্রাথমিকভাবে এবং লুপে সেট করে ।

def f(x):
 i=2
 while(x in"%s"%i)*all(i%j for j in range(2,i))-1:i+=1
 return i

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

whileশর্তের ব্যাখ্যা ( (x in"%s"%i)*all(i%j for j in range(2,i))-1):

(x in"%s"%i): True/ 1যদি বর্তমান কাউন্টারটিতে এতে সংখ্যার কাঙ্ক্ষিত ক্রম থাকে; False/ 0অন্যথায়।

all(i%j for j in range(2,i)): True/ 1যদি বর্তমান কাউন্টারটিতে সর্বদা একটি অবশিষ্ট থাকে যখন 2 (অন্তর্ভুক্ত) থেকে নিজেকে (একচেটিয়া) থেকে কোনও পূর্ণসংখ্যার দ্বারা বিভক্ত করা হয়, অর্থাৎ প্রধান হয়; False/ 0অন্যথায়।

দ্য *তা বৃদ্ধি পায় দুই অবস্থার একসঙ্গে, এবং একটি হিসাবে কাজand অপারেটর - পণ্য True/ 1যদি এবং উভয় শর্ত শুধুমাত্র যদি True/ 1

-1একটি হিসাবে কাজ করে notঅপারেটর:False /0 - 1 ফলাফলে -1, যা সত্য বলে মনে করা হয়, যেহেতু True/ 1- 1 ফলাফল 0, যা মিথ্যা বিবেচনা করা হয়। সুতরাং, লুপটি চলতে থাকে যখন সংখ্যায় হয় সংখ্যার পছন্দসই অনুক্রম থাকে না বা প্রধান হয় না।

এর *সাথে প্রতিস্থাপন করুন andএবং সমস্ত -1দ্রুত কাছাকাছি যুক্ত করুন তবে অনেক দ্রুত, সমতুল্য সমাধানের জন্য (এটি কিছুটা দীর্ঘ)।

কেবলমাত্র ASCII- দ্বারা দেওয়া পাইথন 2 এ একটি 76 বাইট - 50 = 26 স্কোর সমাধান ( ``পরিবর্তে ব্যবহার করুন)str() ,

def f(x):
 i=2
 while(x in`i`)*all(i%j for j in range(2,i))-1:i+=1
 return i

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



@ এএসসিআইআই-আমি কেবল পাইথন 2 বেশি ব্যবহার করি নি এবং বেশিরভাগই পাইথন 3 ব্যবহার করি, তাই আমি গল্ফটি পেয়েছি Though যদিও মনে হচ্ছে অজগর 2 বেশিরভাগ সময়ই খাটো হয়ে যায় ...
নীল এ।

আপনি প্রথম টাইপ করেছিলেন return I
ASCII- কেবল


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