বেসিক বাইনারি সম্পর্কে সব


29

পেনি শিরোনাম ক্ষমা করুন।

এটি 82000 এর কৌতূহল সম্পত্তি দ্বারা অনুপ্রাণিত একটি প্রশ্ন । এতে, লেখকটি উল্লেখ করেছেন যে 82000 সংখ্যাটি বেস 2, 3, 4, এবং 5 তে বাইনারি রয়েছে "পোস্টটি পরে প্রশ্নটি উত্থাপন করে" এমন একটি সংখ্যা আছে যা 2, 3, 4, 5, এবং 6 ভিত্তিতে বাইনারি রয়েছে? "? (এই কৌতূহলীদের জন্য, আমি 10 ^ 1,000,000 পর্যন্ত মানগুলি পরীক্ষা করেছি এবং এখনও পর্যন্ত উত্তরটি নেই))

এই পেয়েছিলাম চিন্তা: একটি নম্বর দেওয়া, কি ঘাঁটি হয় তাতে বাইনারি?

আমাদের কৌতূহলী সংখ্যা, 82000, আসলে ছয়টি ঘাঁটিতে বাইনারি:

Base 2 = 10100000001010000
Base 3 = 11011111001
Base 4 = 110001100
Base 5 = 10111000
Base 81999 = 11
Base 82000 = 10

সমস্ত সংখ্যার বাইনারি বেসগুলি ক্রমযুক্ত হবে না। 83521 সংখ্যাটি বিবেচনা করুন It's এটি 2, 17, 289, 83520 এবং 83521 বেসগুলিতে বাইনারি।

আপনার চ্যালেঞ্জটি হ'ল কোন সংখ্যাটি বাইনারি কিনা তা নির্ধারণ এবং প্রদর্শন করা।

বিধি

  • কোনও বেসকে প্রদত্ত বেসে "বাইনারি" হিসাবে বিবেচনা করা হয় যদি সেই ভিত্তিতে এর প্রতিনিধিত্ব কেবলমাত্র শূন্য এবং একটি করে থাকে। 110110একটি বাইনারি মান, যদিও 12345এটি হয় না, A380Fঅবশ্যই হয় না।
  • আপনার নম্বরটি স্ট্যান্ডার্ড ইনপুটটিতে সরবরাহ করা হবে। এটি 2 এবং 2 ^ 32-1 সহ অন্তর্ভুক্তের পূর্ণসংখ্যার মান হবে এবং বেস -10 ফর্ম্যাটে সরবরাহ করা হবে।
  • আরোহী ক্রমে, প্রতিটি বেসটি একের চেয়ে বড় প্রদর্শিত হবে যে সংখ্যাটি বাইনারি রয়েছে Each প্রতিটি বেসটি তার নিজস্ব লাইনে থাকা উচিত। আপনি যদি সেই বেসে বাইনারি মান অন্তর্ভুক্ত করেন (নীচে বোনাস স্কোরিং দেখুন), বেস এবং বাইনারি মানকে একটি জায়গার সাথে আলাদা করুন। শুধুমাত্র আউটপুট থেকে স্ট্যান্ডার্ড আউট বিচার করা হবে, স্ট্যান্ডার্ড ত্রুটি এবং অন্যান্য উত্সগুলি উপেক্ষা করা হবে।

স্কোরিং

আপনার স্কোরটি বাইটে আপনার প্রোগ্রামের আকার। স্কোর যত কম হবে তত ভাল।

বোনাস :
যদি আপনার প্রোগ্রামটিও পাওয়া যায় বেসগুলিতে বাইনারি মানগুলিকে ছাড়িয়ে যায়, তবে আপনার স্কোরকে ০.75৫ দিয়ে গুন করুন
আপনার প্রদর্শিত বাইনারি মানের কোনও অতিরিক্ত বিরামচিহ্ন, কোনও বহির্মুখী শূন্য, কোনও দশমিক বিন্দু, কেবল শূন্য এবং বেশী হওয়া উচিত নয়।

উদাহরণ

ইনপুট:

82000

আউটপুট (বোনাস গ্রহণ করে):

2 10100000001010000
3 11011111001
4 110001100
5 10111000
81999 11
82000 10

ইনপুট:

1234321

আউটপুট (কোনও বোনাস নেই):

2
1111
1234320
1234321

ইনপুটটি কি নতুন লাইনের সাথে শেষ হতে পারে?
LegionMammal978

@ লিজিওনম্মাল978 - উহহহ ... নিশ্চিত? আমার অভিপ্রায়টি ছিল যে আপনি কোনও সাধারণ কল্পকাহিনী, রিডলাইন বা অনুরূপ কিছু দিয়ে ইনপুট নম্বর পেতে সক্ষম হবেন।
মিঃ লালমা

1
সাধারণভাবে, nসবসময় ঘাঁটি অন্তত বাইনারি হয় 1(গণনা করা), 2, n-1, এবং n
mbomb007

1
আপনি যখন বলেন, "আপনার নম্বরটি স্ট্যান্ডার্ড ইনপুটটিতে সরবরাহ করা হবে", আপনি কি কেবল এসটিডিইএনকে বোঝাতে চাইছেন, বা আমরা বিকল্পটির জন্য নম্বরটি কোনও ফাংশন আর্গুমেন্ট হিসাবে সাইটের মান হিসাবে মেনে নিতে পারি?
অ্যালেক্স এ।

বাইনারি উপস্থাপনের (বোনাস অংশে) একটি নির্দিষ্ট ফর্ম্যাট থাকা উচিত? বিশেষত [1, 0, 1, 1, 0]ঠিক আছে, বা সংখ্যার মতো যুক্ত হতে হবে 10110?
জাকুবে

উত্তর:


14

পাইথ, 14 13

jbf!-jQTU2tSQ

নতুন Sফাংশনটি নির্দেশ করার জন্য জাকুবকে ধন্যবাদ ।

এখানে চেষ্টা করুন।

অনলাইন সংস্করণটি করতে খুব ধীর 1234321। এটি কেবল প্রতিটি বেসকে ইনপুটটিকে 2 থেকে নিজের মধ্যে রূপান্তর করে এবং 0 এবং 1 এর বাইরে অন্য মানগুলি রয়েছে এমন ফলাফলগুলি বাতিল করে disc

ব্যাখ্যা:

                           : Q=eval(input) (implicit)
jb                         : join on newlines the list...
  f!                       : filter away nonempty values (impliticly named T)
    -jQTU2                 : sewtise difference of number converted to base and range(2)
     jQT                   : convert Q to base T
        U2                 : range(2)
          tSQ              : over the range [2 Q+1)

উপরন্তু, এই একটি (হয় না ভাল golfed বোনাস সংস্করণ (20 * .75 = 15) এখন ভাল golfed, আবার Jakube ধন্যবাদ):

VQI!-JjQK+2NU2pdKjkJ

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


পাইথ সদ্য আপডেট হয়েছে। সুতরাং আপনি প্রকৃত সমাধানের সাথে লিঙ্ক করতে পারেন।
জাকুব

এবং এখানে একটি 20 * 0.75 = 15 সমাধান রয়েছে: VQI!-JjQK+2NU2pdKjkJকখনও কখনও কার্যকরী প্রোগ্রামিং সর্বোত্তম পন্থা নয়।
জাকুব

10

জুলিয়া, 72 70 বাইট

এটি আসলে বোনাসের সাথে দীর্ঘকাল, তাই এখানে কোনও বোনাস নেই।

n=int(readline());for j=2:n all(i->i0:1,digits(n,j))&&println(j)end

এটি STDIN থেকে একটি লাইন পড়ে, এটি একটি পূর্ণসংখ্যায় রূপান্তর করে এবং ফলাফল মুদ্রণ করে। বর্বর বাহিনী পদ্ধতি হওয়া সত্ত্বেও, ইনপুটটি আমার জন্য 1 সেকেন্ডেরও কম সময় নিয়েছিল 34

অবহেলিত + ব্যাখ্যা:

# Read n from STDIN and convert to integer
n = int(readline())

# For every potential base from 2 to n
for j = 2:n
    # If all digits of n in base j are 0 or 1
    if all(i -> i0:1, digits(n, j))
        # Print the base on its own line
        println(j)
    end
end

উদাহরণ:

julia> n=int(readline());for j=2:n all(i->i0:1,digits(n,j))&&println(j)end
1234321
2
1111
1234320
1234321

julia> n=int(readline());for j=2:n all(i->i0:1,digits(n,j))&&println(j)end
82000
2
3
4
5
81999
82000

দ্রষ্টব্য : ইনপুটটি STDIN (ওপি থেকে নিশ্চিতকরণের অপেক্ষায়) না থেকে ফাংশন আর্গুমেন্ট হিসাবে নেওয়া যেতে পারে, তবে সমাধানটি 55 বাইট।


7

সিজেএম, 20 বাইট (বা 27 বাইট * 0.75 = 20.25)

এখানে কোনও বোনাস সংস্করণ নেই, 20 বাইট:

ri:X,2f+{X\b2,-!},N*

এখানে চেষ্টা করুন।

শুধু মজাদার জন্য, এখানে বোনাস সংস্করণ, 27 বাইট:

ri:X{X\)b2,-!},1>{)SX2$bN}/

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


অবশ্যই। একবার আমি কিছুটা গল্ফ করে ফেলেছি।
অপ্টিমাইজার

1
ri_,f{2+S@2$bN}4/{2=2,-!},(19.5 বাইট)
ডেনিস

7

গণিত, 59 বাইট

Print/@Select[1+Range[n=Input[]],Max@IntegerDigits[n,#]<2&]

উঃ ... IntegerDigitsডি:

কোড সম্পর্কে ব্যাখ্যা করার মতো সত্যিকারের অনেক কিছুই নেই ... এসটিডিআইএন এবং এসটিডিআউট ব্যবহারের প্রয়োজনে 12 বাইটগুলি নষ্ট হয়।

আমি মনে করি না আমি বোনাসটি দাবি করতে পারি। আমি পেয়েছি সেরাটি হচ্ছে 84 বাইট (যা 60 এরও বেশি স্কোর দেয়):

Print@@@Select[{b=#+1," ",##&@@n~IntegerDigits~b}&/@Range[n=Input[]],Max@##3<2&@@#&]

7

পাইথন 2, 88 86 80

মোটামুটি সোজা, কোনও বোনাস নেই। পাইথন গ্লোবাল ভেরিয়েবলের সাথে দুর্দান্ত এবং লেনিয়েন্ট।

N=input();g=lambda n:n<1or(n%b<2)*g(n/b)
for b in range(2,N+1):
 if g(N):print b

আমি বোনাসটি অর্জন করতে পেরেছি তা সেরা 118 * .75 = 87.75 :

N=input();g=lambda n:0**n*" "or" "*(n%b<2)and(g(n/b)+`n%b`)*(g(n/b)>'')
for b in range(2,N+1):
 if g(N):print`b`+g(N)

খুব ভাল সমাধান, আমাকে আরও সংক্ষিপ্ত কোড দিয়ে মারুন।
কেড

এটি কেবলমাত্র g(N)পরিবর্তে করা কম হবে n=N
ফেয়ারস

@ ফেয়ারসাম ওহ হ্যাঁ (এটি g(N,b)আগে কমা দুটিকে সমান করে তোলে) তবে আপনি কী বলতে চান আমার এন এর জন্য একটি ভেরিয়েবলের প্রয়োজন হবে না?
কেস্যাব

@ কেএসব আমি সেই দ্বিতীয় অংশটি মুছে ফেলেছি; কিছু মনে করো না.
ফেয়ারসুম

আমি ভুল হতে পারি তবে 'ব্যাকটিকের প্রতিনিধিত্ব g(n/b)করে (g(n/b)+'n%b')যেখানে' সেখানে পরিবর্তন করে আপনি বোনাস পেতে পারেন না ?
ফেয়ারসুম

4

পাইথন 2, 90 * 0.75 = 67.5

n=input();b=1
while b<n:
 b+=1;s="";c=k=n
 while k:s=`k%b`+s;c*=k%b<2;k/=b
 if c:print b,s

খুব সোজা সরল পুনরুক্তি পদ্ধতির।

বোনাস ব্যতীত, এটি 73 বাইট:

n=input();b=1
while b<n:
 b+=1;c=k=n
 while k:c*=k%b<2;k/=b
 if c:print b

4

এসকিউএল (পোস্টগ্রিএসকিউএল), 247.5 255 230.25 (307 * .75)

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

CREATE TABLE IF NOT EXISTS I(I INT);TRUNCATE TABLE I;COPY I FROM STDIN;WITH RECURSIVE R AS(SELECT n,I/n I,ARRAY[I%n] R FROM generate_series(2,(SELECT I FROM I))g(n),(SELECT I FROM I)I(I)UNION ALL SELECT n,I/n,I%n||R FROM R WHERE I>0)SELECT n||' '||array_to_string(R,'')FROM R WHERE 2>ALL(R)and i=0ORDER BY n

পরীক্ষা হিসাবে আমি কেবল Iটেবিলের মধ্যে সরাসরি straightোকানো ব্যবহার করেছি । টেস্ট রান প্রসারিত এবং মন্তব্য।

-- Create the table to accept the input from the copy command
CREATE TABLE IF NOT EXISTS I(I INT);
-- Make sure that it is empty
TRUNCATE TABLE I;
-- Popoulate it with a value from STDIN
--COPY I FROM STDIN;
INSERT INTO I VALUES(82000); -- Testing
--Using a recursive CTE query
WITH RECURSIVE R AS (
    -- Recursive anchor
    SELECT n,                -- base for the row
       I/n I,                -- integer division
       ARRAY[I%n] R   -- put mod value in an array
    FROM generate_series(2,(SELECT I FROM I))g(n), -- series for the bases
         (SELECT I FROM I)I(I) -- Cross joined with I,  saves a few characters
    UNION ALL 
    -- for each row from r recursively repeat the division and mod until i is 0
    SELECT n,
        I/n,
        I%n||R -- Append mod to beginning of the array
    FROM R WHERE I>0
    )
-- return from r where i=0 and r has 1's and 0's only
SELECT n||' '||array_to_string(R,'')
FROM R 
WHERE 2 > ALL(R)and i=0
ORDER BY n -- Ensure correct order

2 10100000001010000
3 11011111001
4 110001100
5 10111000
81999 11
82000 10


নিকটবর্তী! আউটপুট বেসগুলি আরোহী ক্রমে থাকা দরকার। যদিও অপ্রচলিত ভাষা ব্যবহারের জন্য +1।
মিঃ লামা

@ মিঃল্লামা এটিকে একটি দ্বারা স্থির করেছেন order by। আমি এখন এই চরিত্রগুলি ফিরে পেতে পারি কিনা তা দেখার জন্য
মিকিটি

3

হাস্কেল 109 * 0.75 = 81.75 বাইট

0#x=[]
n#x=n`mod`x:div n x#x 
f n=[show x++' ':(n#x>>=show)|x<-[2..n+1],all(<2)$n#x]
p=interact$unlines.f.read

ব্যবহারের উদাহরণ (দ্রষ্টব্য: বাইনারি মানগুলি প্রথমে lsb হয়):

p 82000

2 00001010000000101
3 10011111011
4 001100011
5 00011101
81999 11
82000 01

ইনপুট / আউটপুট বিধিনিষেধ ছাড়াই, অর্থাৎ ফাংশন আর্গুমেন্টের মাধ্যমে ইনপুট, REPL এর মাধ্যমে নেটিভ ফর্ম্যাটে আউটপুট):

হাস্কেল, 67 * 0.75 = 50.25 বাইট

0#x=[]
n#x=n`mod`x:div n x#x
f n=[(x,n#x)|x<-[2..n+1],all(<2)$n#x]

(বেস, মান) জোড়গুলির একটি তালিকা প্রদান করে। মানগুলি প্রথমে lsb হয়, উদাহরণস্বরূপ (আরও ভাল প্রদর্শনের জন্য নিউলাইন / স্পেস যুক্ত করা হয়েছে):

 f 82000
 [ (2,[0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,1]),
   (3,[1,0,0,1,1,1,1,1,0,1,1]),
   (4,[0,0,1,1,0,0,0,1,1]),
   (5,[0,0,0,1,1,1,0,1]),
   (81999,[1,1]),
   (82000,[0,1]) ] 

2

আর, 111

এই মুহুর্তে এটির উন্নতি করার জন্য সম্ভবত প্রচুর ঘর

i=scan();b=2:i;R=i%%b;I=rep(i,i-1);while(any(I<-I%/%b))R=cbind(I%%b,R);for(x in b)if(all(R[x-1,]<2))cat(x,'\n')

সতর্কতা সহ চালানো হয়

> i=scan();b=2:i;R=i%%b;I=rep(i,i-1);while(any(I<-I%/%b))R=cbind(I%%b,R);for(x in b)if(all(R[x-1,]<2))cat(x,'\n')
1: 82000
2: 
Read 1 item
There were 17 warnings (use warnings() to see them)
2 
3 
4 
5 
81999 
82000
>

@AlexA। ক্লজটিতে I%/%bএকটি লজিক্যালকে জবরদস্তি করে সতর্কতা any()। `
মিকিটি

2

জাভা, 181 155.25 (207 * .75) 151.5 (202 * .75) বাইট

class I{public static void main(String[]a){a:for(long b=new java.util.Scanner(System.in).nextLong(),c,d=1;d++<b;){String e="";for(c=b;c>0;e=c%d+e,c/=d)if(c%d>1)continue a;System.out.println(d+" "+e);}}}

ব্যাখ্যা সহ প্রসারিত:

class I {
    public static void main(String[]a){
        a:for(long b=new java.util.Scanner(System.in).nextLong(),c,d=1; //b = input(), d = base
              d++<b;) {                                           //For all bases in range(2,b+1)
            String e="";
            for(c = b;c > 0; e = c % d + e,c /= d)                //Test all digits of base-d of b
                           //e = c % d + e                        //Append digits to string
                if (c % d > 1)                                    //Reject base if the digit is greater than 1
                    continue a;
            System.out.println(d+" "+e);                          //Print base and digits.
        }
    }
}

আসল (বোনাস ছাড়াই):

class I{public static void main(String[]a){long b=new java.util.Scanner(System.in).nextLong(),c,d=1;a:for(;d++<b;){c=b;while(c>0){if(c%d>1)continue a;c/=d;}System.out.println(d);}}}

3.75 বাইট Ypnypn ধন্যবাদ :)


2

আর, 94 83 79

n=scan();cat((2:n)[!sapply(2:n,function(x){while(n&n%%x<2)n=n%/%x;n})],sep="\n")

ব্যবহার:

> n=scan();cat((2:n)[!sapply(2:n,function(x){while(n&n%%x<2)n=n%/%x;n})],sep="\n")
1: 82000
2: 
Read 1 item
2
3
4
5
81999
82000
> n=scan();cat((2:n)[!sapply(2:n,function(x){while(n&n%%x<2)n=n%/%x;n})],sep="\n")
1: 1234321
2: 
Read 1 item
2
1111
1234320
1234321

ফাংশনটির মূলটি হ'ল !sapply(2:n,function(x){while(n&n%%x<2)n=n%/%x;n}), প্রতিটি বেস এক্সের জন্য 2 থেকে এন পর্যন্ত, বাকী 0 এবং 1 এর মধ্যে ভাগফল এন / এক্স রাখুন এটি ফলাফলকে আউটপুট করে দেয় (যা 0 হয় যদি সমস্ত বাকী 1 বা 1 হয় 0) এবং এটিকে উপেক্ষা করে (0 টি সত্যকে প্রত্যাখ্যান করে, অন্য সব কিছুই মিথ্যা প্রতিপন্ন করে)। ফাংশন সুযোগের জন্য ধন্যবাদ, n এর জন্য একটি ডামি ভেরিয়েবল তৈরি করার দরকার নেই। বুলিয়ানগুলির ফলে প্রাপ্ত ভেক্টরটি সূচীতে ব্যবহৃত হয় 2:nএবং সুতরাং এটি কেবল যে বেসগুলির জন্য কাজ করেছিল তা আউটপুট করে।


1

টিআই-বেসিক, 45 বাইট

Input N
For(B,2,N
If prod(seq(BfPart(iPart(N/B^X)/B),X,0,log(N)/log(B))<2
Disp B
End

ব্যাখ্যা

  • ইনপুট এন
  • 2 থেকে এন পর্যন্ত প্রতিটি বি এর জন্য
    • বেস বেসে এন যদি 0 এবং 1 হয়
      • প্রদর্শন বি
  • শেষ লুপ

জটিল অংশ

দ্বিতীয় লাইন নিম্নলিখিত হিসাবে কাজ করে:

  • প্রতিটি এক্স এর জন্য 0 থেকে এন বি প্রবেশ করুন
  • বি × এফ পার্ট (আইপার্ট (এন / বি এক্স ) / বি) পিছনের দিকে গণনা করা বেস বেসের নবম সংখ্যা
  • এটি একটি তালিকা হিসাবে বিবেচনা করুন
  • প্রতিটি উপাদানের জন্য, অঙ্কটি 2 এর চেয়ে কম হলে 1 (সত্য) প্রদান করুন, অন্যথায় 0 (মিথ্যা)
  • পণ্যটি নিন: 1 যদি সমস্ত উপাদান 1 হয়

বিঃদ্রঃ

যদি একটি ক্লোজিং প্রথম বন্ধনী )দ্বিতীয় লাইনের শেষে রাখা হয় তবে প্রোগ্রামটি দ্রুত গতিতে চলে runs এই সম্পর্কে আরও জানতে এখানে দেখুন


1

টিআই-বেসিক, 31 29

For(B,2,Ans
If 2>round(Bmax(fPart(Ans/B^randIntNoRep(1,32
Disp B
End

এটি সম্ভবত টিআই-বেসিকের জন্য অনুকূল।

ব্যাখ্যা:

randIntNoRep(1,32)1 থেকে 32 পর্যন্ত সংখ্যার এলোমেলোভাবে অনুচ্ছেদ ফেরৎ দেয় (আমাদের কেবল কয়েকটি ক্রমের জন্য এই সংখ্যাগুলি দরকার; টিআই-বেসিক এপিএলের আইওটা কমান্ডের মতো কিছু নেই)। 32 টি উপাদান যথেষ্ট কারণ ছোটতম বেসটি 2 এবং বৃহত্তম সংখ্যা 2 ^ 32-1। B^randIntNoRep(1,31)সেই তালিকাটি Bth পাওয়ারে উত্থাপন করে, যার ফলে সমস্ত B^1,B^2,...,B^32(কিছু ক্রমে) রয়েছে এমন তালিকার ফলাফল ।

তারপরে ইনপুট ( Ansওভার ভেরিয়েবলে, যা ফর্মটিতে ইনপুট হয় [number]:[program name]) number সংখ্যাটি দিয়ে বিভক্ত হয়। যদি আপনার ইনপুটটি 42 হয় এবং বেসটি 2 হয় তবে ফলাফলটি 21,10.5,5.25,...,42/32,42/64,[lots of numbers less than 1/2]আবার কিছু ক্রমে তালিকাভুক্ত হবে ।

ভগ্নাংশের অংশ গ্রহণ এবং আপনার বেস দ্বারা সংখ্যাটি গুণিত করে বেস-বি উপস্থাপনায় সেই অবস্থানটিতে অঙ্কটি দেয়। সমস্ত অঙ্ক যদি 2 এর চেয়ে কম হয় তবে বৃহত্তম সংখ্যাটি 2 এর চেয়ে কম হবে।

ইপনিপেন যেমন বলেছে, Forপার্সার বাগের কারণে বিবৃতিতে একটি ক্লোজিং বন্ধনী এটিকে গতি দেয়।

31-> 31: একটি বাইট কিন্তু ফিক্সড রাউন্ডিং ত্রুটিগুলি সংরক্ষণ করেছে যা আবার বাইট যুক্ত করেছে।

31-> 29: RandIntNoRep()পরিবর্তে ব্যবহার করে দুটি বাইট সংরক্ষণ করা হয়েছে cumSum(binomcdf())


টিআই-বেসিকের কি সিকোয়েন্স ফাংশন রয়েছে?
মিঃ লালমা

হ্যাঁ, আদেশ আছে seq(expression, variable, start, end[, step])। যদি কোনও পদক্ষেপ না দেওয়া হয় তবে এটি ডিফল্ট ১ টি হয়। তবে cumSum(binomcdf(31,0এটি 8 বাইট যেখানে seq(X,X,1,329 বাইট।
lirtosiast

আহ, এটি ব্যাখ্যা করে। টিআই-বেসিকের স্কোরিং কাজের সাথে আমি পরিচিত নই।
মিঃ লালমা

1

জেলি , 9 বাইট

³bṀỊµÐfḊY

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

পাশাপাশি সম্পন্ন caird coinheringaahing মধ্যে চ্যাট

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

FullbṀỊµÐfḊY সম্পূর্ণ প্রোগ্রাম।

     Thef নিখুঁতভাবে উত্পাদিত ব্যাপ্তি [1, ইনপুট] ফিল্টার করুন।
    a একটি নতুন monadic চেইন শুরু।
³b বর্তমান সংখ্যাটির ভিত্তিতে ইনপুটটিকে একটি তালিকা হিসাবে রূপান্তর করুন।
  । সর্বোচ্চ।
   Ị তুচ্ছ। অ্যাবস (জেড) ≤ 1 কিনা তা পরীক্ষা করে।
       Que ডেকিউ; তালিকার প্রথম উপাদানটি সরিয়ে দেয় (বেস 1 ড্রপ করতে)।
        Y নিউলাইন দ্বারা যোগ দিন।

0

জাভাস্ক্রিপ্ট, ES6, 118 * .75 = 88.5 110 * .75 = 82.5

f=x=>{res={};for(b=2;b<=x;++b)if(!+(res[b]=(c=x=>x%b<2?x?c(x/b|0)+""+x%b:"":"*")(x)))delete res[b];return res}

পূর্ববর্তী সংস্করণ:

f=x=>{res={};for(q=2;q<=x;++q)if(!+(res[q]=(c=(x,b)=>x%b<2?x?c(x/b|0,b)+""+x%b:"":"*")(x,q)))delete res[q];return res}

পরীক্ষা করে দেখুন:

f(82000)
Object { 2: "10100000001010000", 3: "11011111001", 4: "110001100", 5: "10111000", 81999: "11", 82000: "10" }

এখানে আপনার কোনও ইনপুট এবং আউটপুট নেই।
edc65

0

জাভাস্ক্রিপ্ট ( ES6 ) 65

প্যারামিটার এবং কনসোল আউটপুট সহ একটি ফাংশনের জন্য 68 বাইট।

f=n=>{s=n=>n%b>1||b<n&&s(n/b|0);for(b=1;b++<n;)s(n)||console.log(b)}

পপআপের মাধ্যমে আই / ও দিয়ে 65 বাইট

n=prompt(s=n=>n%b>1||b<n&&s(n/b|0));for(b=1;b++<n;)s(n)||alert(b)

বোনাস দাবি করা: 88 * 0.75 => 66

n=prompt(s=n=>n%b>1?9:(b<=n?s(n/b|0):'')+n%b);for(b=1;b++<n;)s(n)<'9'&&alert(b+' '+s(n))

0

গণিত, 76 * 0.75 = 57

n=Input[];G=#~IntegerDigits~b&;If[Max@G@n<2,Print[b," ",Row@G@n]]~Do~{b,2,n}

প্রাথমিকভাবে ইনপুট প্রয়োজনীয়তাগুলি ভুলে গিয়েছিল ... ভাগ্যক্রমে, এগুলি অতিরিক্ত অতিরিক্ত যোগ করে নি।



0

পার্ল 5 , 63 বাইট

map{$t=$n;1while($f=$t%$_<2)&&($t=int$t/$_);say if$f}2..($n=<>)

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

এটিতে কোনও বোনাস নেই কারণ এটি বোনাসের সাথে আমার সংস্করণটির থেকে খুব সামান্য স্কোর করে:

পার্ল 5 , 85 বাইট * 0.75 = 63.75

map{my$r;$t=$n;$r=$/.$r while($/=$t%$_)<2&&($t=int$t/$_);say"$_ 1$r"if$/<2}2..($n=<>)

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

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