একটি সংখ্যার বিভাজক গণনা করুন


26

ভূমিকা

এটি একটি খুব সহজ চ্যালেঞ্জ: কেবল একটি সংখ্যার বিভাজক গণনা করুন। আমরা এর আগেও একই রকম তবে আরও জটিল চ্যালেঞ্জ পেয়েছি, তবে আমি এটিকে এন্ট্রি-লেভেল হওয়ার ইচ্ছা করছি।

চ্যালেঞ্জ

এমন একটি প্রোগ্রাম বা ক্রিয়াকলাপ তৈরি করুন যা একটিকে কঠোর ইতিবাচক পূর্ণসংখ্যার দেওয়া হয় Nএবং 1 এবং সহ আরও কতগুলি বিভাজন রয়েছে তা আউটপুট দেয় বা প্রদান করে N

ইনপুট: একটি পূর্ণসংখ্যার> ০. আপনি ধরে নিতে পারেন যে নম্বরটি আপনার ভাষার নেটিভ সংখ্যার প্রকারে উপস্থাপন করা যেতে পারে।

আউটপুট: এটিতে ইতিবাচক পূর্ণসংখ্যা বিভাজকের সংখ্যা, যার মধ্যে 1 এবং নিজেই সংখ্যা রয়েছে।

বাইটে জমা দেওয়া হবে । আপনি এই ওয়েবসাইটটি কার্যকর দেখতে পাবেন , যদিও আপনি নিজের বাইট গণনা তৈরির জন্য কোনও যুক্তিসঙ্গত পদ্ধতি ব্যবহার করতে পারেন।

এটি , তাই সর্বনিম্ন স্কোর জয়!

সম্পাদনা: দেখে মনে হচ্ছে FryAmTheEggman এর 5-বাইট পাইথ উত্তরটি বিজয়ী! নতুন উত্তর জমা দিতে নির্দ্বিধায়, যদিও; যদি আপনি কিছু ছোট করতে পারেন তবে আমি গৃহীত উত্তরটি পরিবর্তন করব।

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

ndiv(1) -> 1
ndiv(2) -> 2
ndiv(12) -> 6
ndiv(30) -> 8
ndiv(60) -> 12
ndiv(97) -> 2
ndiv(100) -> 9

লিডারবোর্ড

নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই তৈরি করতে এখানে একটি স্ট্যাক স্নিপেট।

আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:

# Language Name, N bytes

Nআপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:

# Ruby, <s>104</s> <s>101</s> 96 bytes

আপনি যদি নিজের শিরোনামে একাধিক সংখ্যা অন্তর্ভুক্ত করতে চান (যেমন আপনার স্কোর দুটি ফাইলের যোগফল বা আপনি আলাদাভাবে দোভাষী পতাকা দণ্ডের তালিকা করতে চান), নিশ্চিত হয়ে নিন যে আসল স্কোরটি শিরোনামের শেষ সংখ্যা:

# Perl, 43 + 2 (-p flag) = 45 bytes

আপনি ভাষাটির নামটিকে একটি লিঙ্কও বানাতে পারেন যা লিডারবোর্ড স্নিপেটে প্রদর্শিত হবে:

# [><>](http://esolangs.org/wiki/Fish), 121 bytes

উত্তর:


19

পাইথ, ৫

l{yPQ

ইনপুটটির প্রাথমিক কারণগুলিতে সাবসেট অপারেশন ব্যবহার করে, তারপরে কেবলমাত্র কারণগুলির অনন্য তালিকাগুলি রাখে এবং এই গণনাটি ফেরত দেয়।

পরীক্ষা স্যুট

ব্যাখ্যা

উদাহরণ হিসাবে 25 ব্যবহার করা, যাতে সাবসেটের তালিকাটি খুব দীর্ঘ না হয়

l{yPQ     ## implicit:  Q = eval(input()) so Q == 25
   PQ     ## Prime factors of Q, giving [5, 5]
  y       ## All subsets, giving [[], [5], [5], [5, 5]]
 {        ## Unique-fiy, giving [[], [5], [5, 5]]
l         ## Length, print implicity

আকর্ষনীয়। চমৎকার পন্থা
সায়োস

14

সি ++ সি, 43 57 56 46 43 বাইট

মার্টিন বাটনার পরামর্শ অনুসারে:

i,c;f(n){for(i=c=n;i;n%i--&&--c);return c;}

1
অপেক্ষা করুন, এর পরিবর্তে তাদের i,c;f(n){for(i=c=n;i;n%i--&&--c);return c;}
দু'টিকেই

@ মার্টিনবাটনার সিরিয়াসলি! _ / \ _
সাহিল অরোরা

1
সুন্দর! : ~)!
সুইপারপোটো

11

ল্যাবভিউ, 4938 বাইট

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


প্রোগ্রামিং ধাঁধা এবং কোড গল্ফ স্বাগতম! আপনি যদি আমাকে জিজ্ঞাসা করতে কিছু মনে করেন না তবে আপনি এটি কীভাবে করেছেন? আমি মেটাতে কোনও নজির খুঁজে পাইনি।
বকুল

আমি এটি সংরক্ষণ করেছি এবং এর আকার নিয়েছি
Eumel

এবং এটি ছিল 4.938 বাইট? উদাহরণস্বরূপ কিলোবাইট নয়?
বকুল

যথার্থতার জন্য আমি বাইট গণনাটি কেবি গণনা না করে
নিয়েছি

4
@ বকুল আমার মনে হয় যে বিভ্রান্তিটি এর কারণেই হয়েছিল ., যা আমি নিশ্চিত যে এক হাজার বিভাজক হিসাবে বোঝানো হয়েছে, দশমিক বিন্দু নয় (কিছু ভাষায় প্রচলিত)।
মার্টিন ইন্ডার

10

হাস্কেল, 28 বাইট

f n=sum[0^mod n i|i<-[1..n]]

এখানে কৌতুকটি পরীক্ষা করে নেওয়া হয় যে বাকী কেউ 0সূচক ফাংশনটি ব্যবহার করছে কিনা 0^

0^0 = 1
0^_ = 0

এটি কাজ করে কারণ 0 এর কোনও ধনাত্মক শক্তি 0 হয়, তবে 0 ^ 0 সম্মিলিতভাবে 1 এর খালি পণ্য product

ফিল্টারিংয়ের সাথে এটি তুলনা করুন

f n=sum[1|i<-[1..n],mod n i<1]

7

ডায়ালগ এপিএল , 7 6 বাইট

≢∘∪⊢∨⍳

এটি একটি নামবিহীন ফাংশন যা নামকরণ করা যেতে পারে এবং তারপরে প্রতিটি ( ¨) পরীক্ষার ক্ষেত্রে আবার ব্যবহার করা যায়:

      f ← ≢∘∪⊢∨⍳
      f¨ 1 2 12 30 60 97 100
1 2 6 8 12 2 9

ব্যাখ্যা:

 ┌─┴──┐  
 ∪  ┌─┼─┐
 ∘  │ ∨ │
 ̸≡  ⊢   ⍳

নিজের এবং প্রতিটি পূর্ণসংখ্যার-অবধি GCD এর অনন্য গণনা করুন ।

একটি বাইট সংরক্ষণ করার জন্য ngn ধন্যবাদ।


পুরনো সংস্করণ: +/0=⍳|⊢

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

  ┌─┴─┐      
  / ┌─┼───┐  
┌─┘ 0 = ┌─┼─┐
+       ⍳ | ⊢

⍳|⊢1-মাধ্যমে-আর্গুমেন্ট বিভাগ-বাকী আর্গুমেন্ট
0=বুলিয়ান যদি 0 ভাগের সমান হয়
+/তবে বুলিয়ানের যোগফলের সমষ্টি, অর্থাৎ এর গণনা।


6

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

f=lambda n,i=1:i/n or(n%i<1)+f(n,i+1)

একটি পুনরাবৃত্তি ফাংশন। iবিভাজকের alচ্ছিক ইনপুট পরীক্ষা করা হচ্ছে। এক্সপ্রেশনটি (n%i<1)বিভাজনকারীদের জন্য True(যা সমান 1) এর সাথে বিভাজনকে পরীক্ষা করে। ফলাফলটির জন্য পুনরাবৃত্ত প্রকাশের সাথে যুক্ত করা হয়েছে i+1। যখন i==nপৌঁছানো হয়, পূর্ণসংখ্যার তল-বিভাগটি i/nমূল্যায়ন করে 1এবং সেই মানটি বেস কেস হিসাবে প্রত্যাবর্তিত হয়, যার জন্য এটি nনিজেকে একটি বিভাজক হিসাবে অ্যাকাউন্ট করে n


38:

lambda n:sum(n%-~i<1for i in range(n))

একটি বেনামে ফাংশন। সমস্ত সম্ভাব্য বিভাজকের 1মাধ্যমে পরীক্ষা করে n। এই থেকে স্থানান্তরিত করা হয় 0মাধ্যমে n-1range(n)ব্যবহার -~, যা যোগ করা 1। বুলদের সংমিশ্রণে পাইথন True/ Falseহিসাবে 1/ হিসাবে আচরণ করে তা ব্যবহার করে 0


6

রেটিনা , 17 বাইট

(?<=(.+))(?=\1*$)

আনারি ইনপুট , দশমিক আউটপুট।

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

যখন একটি একক রেজেক্সের সাথে ডাকা হয়, রেটিনা কেবল ম্যাচগুলি গণনা করে। রেজেক্স নিজেই একটি অবস্থানের সাথে মেলে , যেখানে এর বামে থাকা অবিচ্ছিন্ন সংখ্যাটি পুরো ইনপুটটির বিভাজক। আমি এই চেহারাটিও ব্যবহার করছি যে চেহারাটি পারমাণবিক, যাতে আমার কোনও ^অ্যাঙ্কর ব্যবহার করার দরকার নেই ।

প্রথম বর্ণনীর পিছনে গোটা গোষ্ঠীতে পুরো উপসর্গটি ক্যাপচার করে 1। এটি কখনই ব্যর্থ হতে পারে না, সুতরাং অনুসন্ধানের পরে আমরা জানি যে এটি 1 গ্রুপের মধ্যে রয়েছে এবং এটি আর কোনও পরিবর্তন করবে না।

বর্ণনীর পরে পরীক্ষা করে নেওয়া হয় যে আমরা ক্যাপচারিত স্ট্রিং (আমাদের সম্ভাব্য বিভাজক) 0 বা তার বেশি বার পুনরাবৃত্তি করে স্ট্রিংয়ের শেষে পৌঁছতে পারি কিনা।


6

জে, 10 বাইট

[:*/1+_&q:

এটি একটি নামবিহীন, একাকী ক্রিয়া। এটি σ 0 (kp k α k ) কে ∏ (α কে + 1) হিসাবে গণনা করে ।

এটি J.js এর সাথে অনলাইনে ব্যবহার করে দেখুন

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

[:*/1+_&q:    Right argument: y

      _&q:    Compute all exponents of the prime factorization of y.
    1+        Add 1 to each exponent.
[:*/          Reduce by mutiplication.

আমি মনে করি না যে q:এটি চ্যালেঞ্জের একটি অপরিহার্য অংশটি সমাধান করার অনুমতি দেওয়া হয়েছে। কীভাবে ঠিক[:+/0=]|~1+i.
FUZxxl

এটি এই উত্তরটির সদৃশ হবে । এছাড়াও, বিল্ট-ইনগুলি ডিফল্টরূপে নিষিদ্ধ নয় এবং চ্যালেঞ্জটি তাদের উল্লেখ করে বলে মনে হচ্ছে না।
ডেনিস

বিল্টিনগুলি যা চ্যালেঞ্জের সমস্ত / প্রায় সমস্ত কাজ করে সাধারণত বারণ করা হয় তবে আমি আপনার যুক্তিটি অনুসরণ করতে পারি q:
FUZxxl

1
তারা না. আমার ইচ্ছা যদি তারা থাকত তবে তারা তা নয়।
ডেনিস

Hrmpf hrmpf যা একটু চুষে দেয়।
FUZxxl

6

গল্ফস্ক্রিপ্ট, 19 18 17 13 বাইট

ধন্যবাদ সাথে মার্টিন Büttner

~.,\{\)%!}+,,

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

~               Evaluate the input, n
 .,             Duplicate the input, create array [0..n-1]
   \            Swap array and n
    {    }+     Add n to block == {n block}
     \          Swap n with i in array
      )         Increment i
       %        n mod i
        !       Logical not so that 1 if divisible by n else 0
           ,    Filter array using block for all i divisible by n
            ,   Get length of the filtered array, the answer

এছাড়াও

@ পিটার টেলর থেকে , 13 বাইটেও

~:X,{)X\%!},,

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

~               Evaluate the input
 :X             Store input in variable X
   ,            Create array [0..X-1]
    {     },    Filter array using the following block
     )          Increment i in array
      X\        Add X to stack, swap with i
        %       X mod i,
         !      Logical not so that 1 if divisible by n else 0
            ,   Get length of the filtered array, the answer

একই দৈর্ঘ্যের জন্য ~:X,{)X\%!},,
পিটার টেলর

4

জে, 13 12 11 বাইট

জে আমার প্রথম গল্ফ আমি এখনও এটি শিখছি।

ডেনিসকে একটি বাইট সংরক্ষণ করে।

র্যান্ডম্রা ধন্যবাদ আরও একটি বাইট সংরক্ষণ করা।

1+/@,0=i.|]

ব্যাখ্যা:

1+/@,0=i.|]
       i.        the array 0 .. n-1
         |]      mod n
     0=          replace 0 by 1, and nonzero entries by 0
1   ,            prepend 1 to the array
 +/@             take the sum

3

আরসিইউ , 12 বাইট

এর পক্ষ শুরু করা যাক!

(F(x)(_(d/ x

এটি অন্তর্নির্মিত ফাংশন ব্যবহার করে d/। বিল্ট-ইন (27 বাইট) ছাড়াই এখানে একটি সংস্করণ রয়েছে:

(F(x)(](+(f i(_ 1 x)(‰ x i

ব্যাখ্যা:

(F(x)              ; Anonymous function with one parameter x
  (]               ; Increment
    (+             ; Sum
      (f i(_ 1 x)  ; For i in range from 1 to x-1 inclusive:
        (‰ x i     ; x divisible by i

3

সিজেম, 11 বাইট

ri_,:)f%0e=

এটি এখানে পরীক্ষা করুন।

ব্যাখ্যা

সিজোম এর জন্য অন্তর্নির্মিত কিছু নেই, তাই আমরা পরীক্ষার বিভাগ করছি।

ri  e# Read input and convert to integer N.
_,  e# Duplicate and turn into range [0 1 ... N-1]
:)  e# Increment each element in the range to get [1 2 ... N]
f%  e# Take N modulo each of the list elements.
0e= e# Count the zeroes.

বোনাস

এখানে 12 বাইটে একটি আকর্ষণীয় সমাধান রয়েছে (যা আমি সন্দেহ করি যে জে এর মতো ভাষায় সবচেয়ে কম হতে পারে):

ri_)2m*::*e=

ফলাফলটি nএকটি n x nসংখ্যার টেবিলে প্রদর্শিত সময়ের সংখ্যার সমান :

ri  e# Read input and convert to integer N.
_)  e# Duplicate and increment.
2m* e# Take Cartesian product of [0 1 ... N] with itself.
::* e# Compute the product of each pair.
e=  e# Count the occurrences of N.

3

মতলব, 20 বাইট

k mod nপ্রত্যেকের জন্য পারফর্ম করুন k = 1,...,n, তারপরে পারফর্ম করুন not(যা প্রতিটি ননজারকে শূন্য এবং প্রতিটি শূন্যে 1 তে পরিণত করে) এবং সমস্ত মানগুলি সংযুক্ত করে।

@(n)sum(~mod(n,1:n))

এটাও আমার পন্থা হত!
লুইস মেন্ডো

আকর্ষণীয় যে এটি একই দৈর্ঘ্য length(divisors(n))
সংগৃহীত

@ অ্যাকম্যাকুলেশন আপনাকে এখনও @(n)এটি একটি বৈধ সাবমিসন হিসাবে যুক্ত করতে হবে
flawr

3

জুলিয়া, 20 বাইট

n->sum(i->n%i<1,1:n)

এটি একটি বেনামি ফাংশন যা নিম্নলিখিত হিসাবে কাজ করে: প্রতিটি পূর্ণসংখ্যা 1 থেকে ইনপুট পর্যন্ত, ইনপুটটি শূন্য হয় কিনা তা পরীক্ষা করুন whether যদি তা হয় তবে মানটি trueঅন্যথায় হবে false। আমরা বুলিয়ানগুলির উপর যোগফল দেই যা সংক্ষিপ্তভাবে পূর্ণসংখ্যায় ফেলে দেওয়া হয়, বিভাজকের সংখ্যা দেয়।


সম্পূর্ণতার খাতিরে অন্তর্ভুক্ত একটি অনেক কুলার (যদিও এটি আরও দীর্ঘ) সলিউশন

n->prod(collect(values(factor(n))).+1)

এটি nঅর্থাত্ ক্যানোনিকাল ফ্যাক্টেরাইজেশন পায় \prod_{i=1}^k p_i^e_i, এবং বিভাজক ফাংশন হিসাবে গণনা করে τ(n) = \prod_{i=1}^k e_i + 1


2

পারি / জিপি, 6 বাইট

PARI / GP এর জন্য একটি বিল্ট-ইন রয়েছে।

numdiv

আমি নিশ্চিত নই, তবে আমি মনে করি যে মেটা অনুসারে বিল্টিনদের জন্য, আপনি কেবল এটি পুনরায় ফিরিয়ে দিতে পারবেন না।
মালটিসেন

3
@ মালটিসেন আমি মনে করি এটি অনুমোদিত। meta.codegolf.stackexchange.com/a/7206/9288
আলেফাল্ফ



2

অক্টাভা, 21 20 বাইট

@(n)nnz(~mod(n,1:n))

আমি nnzএখানে, দুর্দান্ত ব্যবহারটি পছন্দ করি =)
flawr

2

Regex (.NET), 33 বাইট

^((?=.*$(?<=^\2*(.+?(?>\2?)))).)+

ধরে নিচ্ছি ইনপুট এবং আউটপুট অচেনা অবস্থায় রয়েছে এবং আউটপুটটি রেজেক্সের মূল ম্যাচ থেকে নেওয়া হয়।

রেজেক্স ভেঙে:

  • .*$ স্ট্রিংয়ের শেষে পয়েন্টারটি এট করে দেয় যাতে পুরো ইনপুটটি আমাদের এক দিকে থাকে।
  • (?<=^\2*(.+?(?>\2?))) ডান থেকে বামে মেলে এবং এক্স থেকে 0 পর্যন্ত লুপ করে বিভাজকের জন্য পরীক্ষা করে।
    • (.+?(?>\2?)) এটি একটি "পরিবর্তনশীল" যা প্রথম পুনরাবৃত্তির 1 থেকে শুরু হয় এবং পূর্ববর্তী পুনরাবৃত্তির সংখ্যা থেকে অবিরত হয় এবং x পর্যন্ত লুপ হয়।
    • ^\2* এক্সটি "ভেরিয়েবল" এর একাধিক কিনা তা পরীক্ষা করে।

এটির মূলত আমার গণনা ফি (পাই নয়) এর উত্তর হিসাবে একই ধারণা রয়েছে । কেবলমাত্র চেকটি আলাদা।

RegexStorm এ রেজেক্স পরীক্ষা করুন ।


2

ল্যাবরেথ , 33 বাইট

?:}
  :{:}%{{
@ }   " )
!{("{;"}}

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

এটি ট্রায়াল বিভাগ প্রয়োগ করে। আমি পরে একটি সম্পূর্ণ ব্যাখ্যা যোগ করব। এটি সম্ভবত অনুকূল নয়, তবে ছোট কিছু নিয়ে আসার জন্য আমার খুব কষ্ট হচ্ছে।



2

জাভাস্ক্রিপ্ট (ES6), 60 57 42 40 39 37 বাইট

এটি সম্ভবত আরও ভাল গল্ফ করা যেতে পারে।

n=>{for(d=i=n;i;n%i--&&d--);return d}

সম্পাদনা 1: আমি ঠিক ছিলাম। লুপের পরে বন্ধনীগুলি সরানো হয়েছে।

সম্পাদনা 2: ম্যানটওয়ার্ক এবং মার্টিন বাটনারকে ধন্যবাদ দিয়ে 40 বাইটে গল্ফড

3 সম্পাদনা করুন: উপরের সি উত্তরে ফাংশনটি বেস করে একটি বাইট সংরক্ষণ করুন

4 সম্পাদনা করুন: ן nɟuɐɯɹɐ ן oן এবং নীলকে ধন্যবাদ জানাই , তবে আমি কাজটি করতে পারছি না।

5 সম্পাদনা করুন: খালাস অপসারণ করতে ভুলে গেছেন।

পরীক্ষা

n = <input type="number" oninput='result.innerHTML=(

n=>{for(d=i=n;i;n%i--&&d--);return d}

)(+this.value)' /><pre id="result"></pre>


2
ভাল অভ্যাস ছেড়ে দিন। varকীওয়ার্ডগুলি সরান । আরো টিপস জাভাস্ক্রিপ্ট মধ্যে golfing জন্য টিপস এবং এর নাম ECMAScript 6 golfing জন্য টিপস
manatwork

2
খারাপ অভ্যাসগুলিও ছেড়ে দিন: আপনি যখন একটি পছন্দ পেয়ে থাকেন ++iএবং i++পূর্বেরটি চয়ন করেন (গল্ফিংয়ের সাথে এর কোনও সম্পর্ক নেই)। এছাড়াও n%i<1একটি বাইট সংরক্ষণ করা উচিত।
মার্টিন এন্ডার

2
কেবল সংক্ষিপ্তভাবে পরীক্ষা করা হয়েছে:n=>{for(d=i=0;i<n;)n%++i<1&&d++;return d}
-এ

1
38: n => ইভাল ('এর জন্য (d = 0, i = n; i; d + = n% i - <1); ডি')
মামা ফান রোল

1
@ মানাতকর্ম কেন n%++i||++d?
নীল

2

পাওয়ারশেল, 34 বাইট

param($x)(1..$x|?{!($x%$_)}).Count

e.g. 

PS C:\temp> .\divisors-of-x.ps1 97
2
  • 1 থেকে x পর্যন্ত সংখ্যার একটি তালিকা তৈরি করুন, তাদের পাইপলাইনে ফিড দিন |
  • পাইপলাইনটি (x% আইটেম == 0) এ ফিল্টার করুন, স্পষ্টতই বুলিয়ান হিসাবে মডুলোর ফলাফল castালাই করে এবং তারপরে !বিভাজকগুলি ব্যবহার করে এটি উল্টিয়ে $ সত্য হয়ে যায় এবং এর মাধ্যমে অনুমতি দেওয়া হয়; এর ?জন্য বিল্টিন ওরফে ব্যবহার করছিWhere-Object
  • সংগ্রহ করুন ()এবং .Countফিল্টারটির মাধ্যমে কতগুলি আইটেম পেল

খুব সুন্দরভাবে হ্যাক!
বেকুল

2

জেলি , 2 বাইট (অ-প্রতিযোগী (আবার))

Æd

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

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


2

ট্যাক্সি, 2143 বাইট

Go to Post Office:w 1 l 1 r 1 l.Pickup a passenger going to The Babelfishery.Go to The Babelfishery:s 1 l 1 r.Pickup a passenger going to Cyclone.Go to Cyclone:n 1 l 1 l 2 r.Pickup a passenger going to Cyclone.Pickup a passenger going to Sunny Skies Park.Go to Sunny Skies Park:n 1 r.Go to Cyclone:n 1 l.Pickup a passenger going to Firemouth Grill.Pickup a passenger going to Joyless Park.Go to Firemouth Grill:s 1 l 2 l 1 r.Go to Joyless Park:e 1 l 3 r.[i][Check next value n-i]Go to Zoom Zoom:w 1 r 2 l 2 r.Go to Sunny Skies Park:w 2 l.Pickup a passenger going to Cyclone.Go to Cyclone:n 1 l.Pickup a passenger going to Divide and Conquer.Pickup a passenger going to Sunny Skies Park.Go to Joyless Park:n 2 r 2 r 2 l.Pickup a passenger going to Cyclone.Go to Sunny Skies Park:w 1 r 2 l 2 l 1 l.Go to Cyclone:n 1 l.Pickup a passenger going to Joyless Park.Pickup a passenger going to Divide and Conquer.Go to Divide and Conquer:n 2 r 2 r 1 r.Pickup a passenger going to Cyclone.Go to Cyclone:e 1 l 1 l 2 l.Pickup a passenger going to Trunkers.Pickup a passenger going to Equal's Corner.Go to Trunkers:s 1 l.Pickup a passenger going to Equal's Corner.Go to Equal's Corner:w 1 l.Switch to plan "F" if no one is waiting.Pickup a passenger going to Knots Landing.Go to Firemouth Grill:n 3 r 1 l 1 r.Pickup a passenger going to The Underground.Go to The Underground:e 1 l.Pickup a passenger going to Firemouth Grill.Go to Knots Landing:n 2 r.Go to Firemouth Grill:w 1 l 2 r.Go to Joyless Park:e 1 l 3 r.Switch to plan "N".[F][Value not a divisor]Go to Joyless Park:n 3 r 1 r 2 l 4 r.[N]Pickup a passenger going to The Underground.Go to The Underground:w 1 l.Switch to plan "E" if no one is waiting.Pickup a passenger going to Joyless Park.Go to Joyless Park:n 1 r.Switch to plan "i".[E]Go to Sunny Skies Park:n 3 l 2 l 1 l.Pickup a passenger going to What's The Difference.Go to Firemouth Grill:s 1 l 1 l 1 r.Pickup a passenger going to What's The Difference.Go to What's The Difference:w 1 l 1 r 2 r 1 l.Pickup a passenger going to The Babelfishery.Go to The Babelfishery:e 3 r.Pickup a passenger going to Post Office.Go to Post Office:n 1 l 1 r.

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

Ungolfed:

Go to Post Office: west 1st left 1st right 1st left.
Pickup a passenger going to The Babelfishery.
Go to The Babelfishery: south 1st left 1st right.
Pickup a passenger going to Cyclone.
Go to Cyclone: north 1st left 1st left 2nd right.
Pickup a passenger going to Cyclone.
Pickup a passenger going to Sunny Skies Park.
Go to Sunny Skies Park: north 1st right.
Go to Cyclone: north 1st left.
Pickup a passenger going to Firemouth Grill.
Pickup a passenger going to Joyless Park.
Go to Firemouth Grill: south 1st left 2nd left 1st right.
Go to Joyless Park: east 1st left 3rd right.
[i]
[Check next value n-i]
Go to Zoom Zoom: west 1st right 2nd left 2nd right.
Go to Sunny Skies Park: west 2nd left.
Pickup a passenger going to Cyclone.
Go to Cyclone: north 1st left.
Pickup a passenger going to Divide and Conquer.
Pickup a passenger going to Sunny Skies Park.
Go to Joyless Park: north 2nd right 2nd right 2nd left.
Pickup a passenger going to Cyclone.
Go to Sunny Skies Park: west 1st right 2nd left 2nd left 1st left.
Go to Cyclone: north 1st left.
Pickup a passenger going to Joyless Park.
Pickup a passenger going to Divide and Conquer.
Go to Divide and Conquer: north 2nd right 2nd right 1st right.
Pickup a passenger going to Cyclone.
Go to Cyclone: east 1st left 1st left 2nd left.
Pickup a passenger going to Trunkers.
Pickup a passenger going to Equal's Corner.
Go to Trunkers: south 1st left.
Pickup a passenger going to Equal's Corner.
Go to Equal's Corner: west 1st left.
Switch to plan "F" if no one is waiting.
Pickup a passenger going to Knots Landing.
Go to Firemouth Grill: north 3rd right 1st left 1st right.
Pickup a passenger going to The Underground.
Go to The Underground: east 1st left.
Pickup a passenger going to Firemouth Grill.
Go to Knots Landing: north 2nd right.
Go to Firemouth Grill: west 1st left 2nd right.
Go to Joyless Park: east 1st left 3rd right.
Switch to plan "N".
[F]
[Value not a divisor]
Go to Joyless Park: north 3rd right 1st right 2nd left 4th right.
[N]
Pickup a passenger going to The Underground.
Go to The Underground: west 1st left.
Switch to plan "E" if no one is waiting.
Pickup a passenger going to Joyless Park.
Go to Joyless Park: north 1st right.
Switch to plan "i".
[E]
Go to Sunny Skies Park: north 3rd left 2nd left 1st left.
Pickup a passenger going to What's The Difference.
Go to Firemouth Grill: south 1st left 1st left 1st right.
Pickup a passenger going to What's The Difference.
Go to What's The Difference: west 1st left 1st right 2nd right 1st left.
Pickup a passenger going to The Babelfishery.
Go to The Babelfishery: east 3rd right.
Pickup a passenger going to Post Office.
Go to Post Office: north 1st left 1st right.

ব্যাখ্যা:

Convert stdin to a number and store it in three locations for three purposes:
   Original (Sunny Skies Park)
   Counter for tested values (Joyless Park)
   Counter for divisors found (Firemouth Grill)
Divide the original by each Joyless Park value in turn.
If the division result equals the truncated division result, then it's a divisor.
When a divisor is found, subtract one from Firemouth Grill.
Repeat until Joyless Park hits zero.
Pickup the original from Sunny Skies Park and subtract the value from Firemouth Grill.
Convert the result to a string and print to stdout.


2

এক্সেল সূত্র, 42 28 বাইট

সম্পাদনা: আমি কেবল বুঝতে পেরেছিলাম যে আমার INDIRECT14 বাইট সঞ্চয় করার দরকার নেই !

নিম্নলিখিতগুলি অ্যারে সূত্র হিসাবে প্রবেশ করা উচিত ( Ctrl+ Shift+ Enter):

=SUM(--NOT(MOD(N,ROW(1:N))))

যেখানে এন হল পরীক্ষার সংখ্যা।

উদাহরণ:

{SUM(--NOT(MOD(32,ROW(1:32))))}
Result: 6
{SUM(--NOT(MOD(144,ROW(1:144))))}
Result: 15

ব্যাখ্যা:

SUM(--NOT(MOD(N,ROW(1:N))))       Full formula

                ROW(1:N)          Generates an array of row numbers e.g {1;2;3;4;...N}
          MOD(N,ROW(1:N))         Does N MOD {1;2;3;4;,...N}
      NOT(MOD(N,ROW(1:N)))        Coerces zeros to ones, so that they may be counted, but actually returns an array of TRUE;FALSE;FALSE;...
    --NOT(MOD(N,ROW(1:N)))        Coerces the TRUEs to 1s and FALSEs to 0s.
SUM(--NOT(MOD(N,ROW(1:N))))       Sum the ones for the result.

2

05 এ বি 1 , 2 বাইট

Ñg

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

বেশ সোজা-এগিয়ে, তবে এখানে এটি যাইহোক:

Ñ   # Push a list of divisors of the (implicit) input-integer
    #  i.e. 100 → [1,2,4,5,10,20,25,50,100]
 g  # Pop and push the length of this list
    #  i.e. [1,2,4,5,10,20,25,50,100] → 9
    # (which is output implicitly as result)


1

মিনকোলাং 0.13 , 16 বাইট

ndd[0ci1+%,-]-N.

সমস্ত ক্ষেত্রে এখানে পরীক্ষা করুন।

ব্যাখ্যা

ndd           Takes number from input and duplicates it twice (n)
[             Opens for loop that runs n times
 0c           Copies bottom of stack to top (n)
   i1+        Loop counter + 1 (d)
      %       Modulo - pops d,n, then pushes n%d
       ,      Not - 1 if equal to 0, 0 otherwise
        -     Subtract
         ]    Close for loop
-             Subtract (n - 1 for each non-divisor)
N.            Output as number and stop.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.