এটি একটি স্পেনিক সংখ্যা?


29

একটি স্পেনিক সংখ্যা এমন একটি সংখ্যা যা হ'ল তিনটি স্বতন্ত্র প্রাইমের গুণফল। প্রথম কয়েকটি স্পেনিক সংখ্যা 30, 42, 66, 70, 78, 102, 105, 110, 114। এটি OEIS এর ক্রম A007304

তোমার কাজ:

একটি ইনপুটযুক্ত পূর্ণসংখ্যা একটি স্পেনিক সংখ্যা কিনা তা নির্ধারণ করতে একটি প্রোগ্রাম বা ফাংশন লিখুন।

ইনপুট:

0 এবং 10 ^ 9 এর মধ্যে একটি পূর্ণসংখ্যা, যা একটি স্পেনিক সংখ্যা বা নাও হতে পারে।

আউটপুট:

ইনপুটটি কোনও স্পেনিক সংখ্যা কিনা তা নির্দেশ করে একটি সত্যবাদী / মিথ্যা মান।

উদাহরণ:

30  -> true
121 -> false
231 -> true
154 -> true
4   -> false
402 -> true
79  -> false
0   -> false
60  -> false
64  -> false
8   -> false
210 -> false

স্কোরিং:

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


কি 60একটি sphenic নম্বর? 2 × 2 × 3 × 5
এরিক দি আউটগল্ফার

1
@ এরিকথ আউটগলফার এটি 3 স্বতন্ত্র প্রাইমগুলির পণ্য নয়, এটি 3 স্বতন্ত্র এবং 1 সদৃশ প্রাইমের পণ্য।
Rɪᴋᴇʀ

1
@ রিকার আমি সত্যিই নিশ্চিত নই যে "3 স্বতন্ত্র প্রাইমস" এর অর্থ "3 প্রাইমগুলি যা সমস্ত স্বতন্ত্র" বা "বৈষম্য যখন সেখানে 3 প্রাইম থাকা উচিত"। সম্পাদনা: ওহ আমি দেখছি, 60কোনও স্পেনিক সংখ্যা নয়। (ওপি
স্পষ্টির অপেক্ষায়

@ এরিকথিউটগলফার স্পেনিক সংখ্যার সংজ্ঞা অনুসারে, 60 টি তাদের মধ্যে একটি নয়। এই চ্যালেঞ্জের জন্য 60 টি বৈধ কিনা তা আমি জানি না।
গম উইজার্ড

@ ওয়েট উইজার্ড, 60 টি কোনও স্পেনিক সংখ্যা নয় (যেমন আউটপুট / রিটার্ন মিথ্যা)।
গ্রিফন - মনিকা 18

উত্তর:


7

ব্র্যাচল্যাগ , 6 3 বাইট

ḋ≠Ṫ

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

ব্যাখ্যা

ḋ        The prime factorization of the Input…
 ≠       …is a list of distinct elements…
  Ṫ      …and there are 3 elements

2
এবং তারপরে একটি ভাষা রয়েছে যার মতো একটি বিল্টিন রয়েছে
এরিক আউটগল্ফার

এবং বিল্টিন পাশাপাশি।
জাকারি

1
@ জাচারা যদিও আসলেই অন্তর্নির্মিত শিকারী নয়; এটি একটি অন্তর্নির্মিত ভেরিয়েবল: 3 পরিবর্তনশীল উপাদানগুলির একটি তালিকা। এটি বিভিন্ন বিভিন্ন চ্যালেঞ্জের মধ্যে যথেষ্ট কার্যকর প্রাক-সীমাবদ্ধ পরিবর্তনশীল।
6:43 এ মারাত্মক করুন

সংক্ষিপ্ত উত্তরের জন্য অভিনন্দন।
গ্রিফন - মনিকা 22

11

বাশ, 43 বাইট

factor $1|awk '{print $2-$3&&$3-$4&&NF==4}'

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

কমান্ড লাইন আর্গুমেন্ট, আউটপুট 0বা 1স্টডআউট মাধ্যমে ইনপুট ।

মোটামুটি স্ব-ব্যাখ্যামূলক; factorপ্রথম এবং দ্বিতীয় কারণগুলি পৃথক, দ্বিতীয় এবং তৃতীয়টি পৃথক (তারা সাজানো ক্রমে রয়েছে তাই এটি যথেষ্ট) এবং এটির চারটি ক্ষেত্র রয়েছে (ইনপুট নম্বর এবং তিনটি উপাদান) যাচাই করার জন্য আউটপুটকে বিশ্লেষণ করে।


11

এমএটিএল , 7 বাইট

_YF7BX=

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

ব্যাখ্যা

_YF   % Implicit input. Nonzero exponents of prime-factor decomposition
7     % Push 7
B     % Convert to binary: gives [1 1 1] 
X=    % Is equal? Implicit display

@ তবুও আমি সে সম্পর্কে চিন্তাভাবনা করছিলাম তবে তারপরে মিথ্যা আউটপুটটি কৃপণ হয়ে উঠবে (হয় ত্রুটি সহ খালি বা কিছু জিরোযুক্ত অ্যারে)। আমার করা উচিত কিনা তা নিশ্চিত নয় ...
লুইস মেন্ডো

4
X=আমি দেখেছি সবচেয়ে দুঃখজনক বিল্টিন।
এরিক দি আউটগল্ফার

9

সি, 88 78 126 58 77 73 + 4 ( lm) = 77 বাইট

l,j;a(i){for(l=1,j=0;l++<i;fmod(1.*i/l,l)?i%l?:(i/=l,j++):(j=9));l=i==1&&j==3;}

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

look, div; //K&R style variable declaration. Useful. Mmm.

a ( num ) { // K&R style function and argument definitions.

  for (
    look = 1, div = 0; // initiate the loop variables.
    look++ < num;) // do this for every number less than the argument:

      if (fmod(1.0 * num / look, look))
      // if num/look can't be divided by look:

        if( !(num % look) ) // if num can divide look
          num /= look, div++; // divide num by look, increment dividers
      else div = 9;
      // if num/look can still divide look
      // then the number's dividers aren't unique.
      // increment dividers number by a lot to return false.

  // l=j==3;
  // if the function has no return statement, most CPUs return the value
  // in the register that holds the last assignment. This is equivalent to this:
  return (div == 3);
  // this function return true if the unique divider count is 3
}

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


1
i*1.0/lভাসতে কাস্টের পরিবর্তে বিবেচনা করুন । (এবং যেহেতু l, jবিশ্বব্যাপী এগুলি বিনা মূল্যে 0 থেকে শুরু করা হয়েছে, ফাংশনটি কেবল একবার ডাকা হলে আপনার এটি করার দরকার নেই the নিয়মটি কী তা নিশ্চিত তা নিশ্চিত নয়))
ম্যাট


5

সিজেম , 11 বাইট

rimFz1=7Yb=

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

ব্যাখ্যা

আমার এমএটিএল উত্তরের ভিত্তিতে।

ri    e# Read integer
mF    e# Factorization with exponents. Gives a list of [factor exponent] lists
z     e# Zip into a list of factors and a list of exponents
1=    e# Get second element: list of exponents
7     e# Push 7
Yb    e# Convert to binary: gives list [1 1 1]
=     e# Are the two lists equal? Implicitly display


4

কাস্তে , 6 বাইট

≡ḋ3Ẋ≠p

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

স্পেনিক সংখ্যার জন্য 1 এবং অন্যথায় 0 প্রদান করে।

ব্যাখ্যা

≡ḋ3Ẋ≠p    Example input: 30
     p    Prime factors: [2,3,5]
   Ẋ≠     List of absolute differences: [1,2]
≡         Is it congruent to...       ?
 ḋ3           the binary digits of 3: [1,1]

শেষ পর্বে, দুটি তালিকার মধ্যে একত্রিত হওয়ার অর্থ একই দৈর্ঘ্য এবং সত্যবাদী / মিথ্যা মানগুলির একই বিতরণ। এই ক্ষেত্রে আমরা যাচ্ছি যে আমাদের ফলাফল দুটি সত্যবাদী (অর্থাত্ শূন্য নয়) মান দ্বারা রচিত।


4

গণিত, 31 বাইট

SquareFreeQ@#&&PrimeOmega@#==3&

যেহেতু আপনি ইতিমধ্যে স্কোয়ারফ্রি-নেসের জন্য পরীক্ষা করছেন, PrimeNuঠিক তেমনি করবে PrimeOmegaএবং সংক্ষিপ্ত।
মার্ক এস।





2

জে , 15 বাইট

7&(=2#.~:@q:)~*

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

ব্যাখ্যা

7&(=2#.~:@q:)~*  Input: integer n
              *  Sign(n)
7&(         )~   Execute this Sign(n) times on n
                 If Sign(n) = 0, this returns 0
          q:       Prime factors of n
       ~:@         Nub sieve of prime factors
    2#.            Convert from base 2
   =               Test if equal to 7

~: এবং # এর খুব সুন্দর ব্যবহার। একটি বিকল্প হতে পারে (7 & (= #। @ ~: @ কি:) ~ *) যা আমি পড়তে একটু সহজ মনে করি, তবে এর চেয়ে কম নয়।
বব




2

সি, 91 102 বাইট, সংশোধন (আবার), গল্ফড এবং এইবারের জন্য পরীক্ষিত:

<strike>s(c){p,f,d;for(p=2,f=d=0;p<c&&!d;){if(c%p==0){c/=p;++f;if(c%p==0)d=1;}++p;}c==p&&f==2&&!d;}</strike>
s(c){int p,f,d;for(p=2,f=d=0;p<c&&!d;){if(c%p==0){c/=p;++f;if(c%p==0)d=1;}++p;}return c==p&&f==2&&!d;}

/ * এটি by৩ বাইটেও কাজ করে, তবে যেহেতু আমি গতিশীল ভেরিয়েবলগুলিতে ডিফল্ট ইনট টাইপ ব্যতীত নিয়মাবলীগুলি এবং অ্যাসাইনমেন্ট ব্যতীত প্রত্যাবর্তিত মানগুলি না দেওয়ার বিষয়ে ভুলে গেছি, তাই আমি এটি গ্রহণ করব না:

p,f,d;s(c){for(p=2,f=d=0;p<c&&!d;){if(c%p==0){c/=p;++f;if(c%p==0)d=1;}++p;}p=c==p&&f==2&&!d;}

(কে বলেছিল যে আমি সি সম্পর্কে কিছু জানি ?;-)

মন্তব্যগুলিতে শেল স্ক্রিপ্ট সহ পরীক্ষার ফ্রেম এখানে দেওয়া হয়েছে:

/* betseg's program for sphenic numbers from 
*/
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <math.h> /* compile with -lm */

/* l,j;a(i){for(l=1,j=0;l<i;i%++l?:(i/=l,j++));l=i==1&&j==3;} */
#if defined GOLFED
l,j;a(i){for(l=1,j=0;l++<i;fmod((float)i/l,l)?i%l?:(i/=l,j++):(j=9));l=i==1&&j==3;}
#else 
int looker, jcount;
int a( intval ) {
  for( looker = 1, jcount = 0; 
    looker++ < intval; 
    /* Watch odd intvals and even lookers, as well. */
    fmod( (float)intval/looker, looker )  
      ? intval % looker /* remainder? */
        ? 0 /* dummy value */
        : ( inval /= looker, jcount++ /* reduce the parameter, count factors */ ) 
      : ( jcount = 9 /* kill the count */ ) 
  )
    /* empty loop */;
  looker = intval == 1 && jcount == 3; /* reusue looker for implicit return value */
}
#endif

/* for (( i=0; $i < 100; i = $i + 1 )) ; do echo -n at $i; ./sphenic $i ; done */

আমি আমার সংস্করণে পেতে বেটসেকের পূর্ববর্তী উত্তর ধার নিয়েছি।

এটি আমার বেটসেকের অ্যালগরিদমের আমার সংস্করণ, যা আমি আমার সমাধান পেতে গল্ফ করেছিলাম:

/* betseg's repaired program for sphenic numbers
*/
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>

int sphenic( int candidate )
{
  int probe, found, dups;
  for( probe = 2, found = dups = 0; probe < candidate && !dups; /* empty update */ ) 
  { 
    int remainder = candidate % probe;
    if ( remainder == 0 ) 
    {
      candidate /= probe;
      ++found;
      if ( ( candidate % probe ) == 0 )
        dups = 1;
    }
    ++probe;
  } 
  return ( candidate == probe ) && ( found == 2 ) && !dups;
}

int main( int argc, char * argv[] ) { /* Make it command-line callable: */
  int parameter;
  if ( ( argc > 1 ) 
       && ( ( parameter = (int) strtoul( argv[ 1 ], NULL, 0 ) ) < ULONG_MAX ) ) {
    puts( sphenic( parameter ) ? "true" : "false" );
  }
  return EXIT_SUCCESS; 
}

/* for (( i=0; $i < 100; i = $i + 1 )) ; do echo -n at $i; ./sphenic $i ; done */

এটি এখন প্রশ্নের উত্তর দেয়?
জোয়েল রিস

হ্যাঁ এটা করে. Betseg এর উত্তর লিংক এই ঢোকান: [betseg's answer](https://codegolf.stackexchange.com/a/135203/65836)। আপনি তার উত্তরের সম্পাদনায় ক্লিক করতে পারেন এতে সম্পাদনার পরামর্শ দেওয়ার জন্য, আপনি চাইলে এর ব্যাখ্যাটি অন্তর্ভুক্ত থাকবে - এটি অনুমোদিত হবে কিনা তা নিয়ে কোনও প্রতিশ্রুতি নেই।
স্টিফেন

আমি এখন এখানে আছি, এবং আমি আমার প্রোগ্রামটি ঠিক করেছি, এটি এখন ৮ 87 বাইটে; তবে আপনার প্রোগ্রামটিও দুর্দান্ত দেখাচ্ছে।
betseg

@ বিটসেগ আকর্ষণীয় যে আপনি এবার ভাসমান পয়েন্টটি ব্যবহার করেছিলেন। ওহ, এবং আপনার অ্যালগরিদম আমাকে ধার দেওয়ার জন্য ধন্যবাদ। ;-)
জোয়েল রিস

@ জোয়েলরিস আমি আমার উত্তরে ব্যাখ্যা যুক্ত করেছি, আপনার উত্তরটিতে কি আমার মনে সমস্যা আছে? এটি সঠিকভাবে কাজ করছে বলে মনে হচ্ছে না: অনলাইনে এটি চেষ্টা করুন
betseg


1

জাভাস্ক্রিপ্ট (ES6), 87 বাইট

n=>(a=(p=i=>i>n?[]:n%i?p(i+1):[i,...p(i,n/=i)])(2)).length==3&&a.every((n,i)=>n^a[i+1])

কোড স্নিপেট উদাহরণ:

f=
n=>(a=(p=i=>i>n?[]:n%i?p(i+1):[i,...p(i,n/=i)])(2)).length==3&&a.every((n,i)=>n^a[i+1])

for(k=0;k<10;k++){
  v=[30,121,231,154,4,402,79,0,60,64][k]
  console.log(`f(${v}) = ${f(v)}`)
}


1

পাইথন 2 , 135 121 বাইট

  • বেশ দীর্ঘকাল যেহেতু এতে সমস্ত পদ্ধতি অন্তর্ভুক্ত রয়েছে: প্রাইম-চেক, প্রাইম-ফ্যাক্টর প্রাপ্তি এবং গোলকের নম্বর শর্তটি পরীক্ষা করে।
lambda x:(lambda t:len(t)>2and t[0]*t[1]*t[2]==x)([i for i in range(2,x)if x%i<1and i>1and all(i%j for j in range(2,i))])

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


1

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

lambda x:6==sum(5*(x/a%a+x%a<1)+(x%a<1)for a in range(2,x))

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


এটি 48 এর মতো মিথ্যা ইতিবাচক দিক দেয় I আমি একই জিনিসটি চেষ্টা করছিলাম।
xnor

@ এক্সনোর ফিক্সড, তবে বাইটের দামে।
গম উইজার্ড

1

জে, 23 বাইট

0:`((~.-:]*.3=#)@q:)@.*

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

8 এবং 0 হ্যান্ডলিং মূলত এটিকে নষ্ট করেছে ...

q: আপনাকে সমস্ত মৌলিক উপাদান দেয়, তবে 0 পরিচালনা করে না it এটির বাকীটি কেবল "অনন্য কারণগুলির সাথে তুলনামূলকভাবে উপাদানগুলির সমান হওয়া উচিত" এবং "তাদের সংখ্যা 3 হওয়া উচিত"


এটি ইনপুটটির জন্য ব্যর্থ হয়60
কনার ও'ব্রায়ান

@ কনরও'ব্রায়েন ধন্যবাদ আমার সম্পাদনাটি দেখুন - 60 টি ফিক্সিংয়ে সহায়তা করেছে , তবে আমি বুঝতে পেরেছিলাম যে আমি 0 টিও সঠিকভাবে পরিচালনা করছি না, এবং
জোনা

শেষটি আমার আসল ধারণা ছিল এবং এটি ব্যর্থ হয় 8
কনর ও'ব্রায়েন

আমার (6=]#@,~.)@q:একটি সম্ভাব্য সমাধান হিসাবে রয়েছে
কনার ও'ব্রায়ান

@ কনোরো ব্রায়ান আহ সম্পর্কে ভাল পয়েন্ট 8 তবে আপনার 0 এর জন্য ব্যর্থ হবে।
জোনা

1

@ অলিভার এর ফলস্বরূপ কোনও ফাংশন পাস করার ফলস্বরূপ Number.k(), যার কোনও প্রভাব থাকবে না এবং কেবল ইনপুটটিতে 3 স্বতন্ত্র প্রধান উপাদানগুলি নয় 3 টি প্রধান উপাদান রয়েছে কিনা তা খতিয়ে দেখবেন । এর অর্থ হবে 8(তিনটি প্রধান কারণ সহ 2, 2, 2) A007304 এ
জাস্টিন মেরিনার

আহ, আপনি ঠিক বলেছেন। আমি কেবল পরীক্ষার মামলা দিয়ে যাচ্ছিলাম।
অলিভার

@ অলিভার হ্যাঁ, এই সমাধানটিতে কাজ করার সময় এটি সত্যিই আমাকে একটি লুপের জন্য ফেলেছিল। আমি কেবল 8সেই কারণে পরীক্ষার মামলায় যুক্ত করেছি ।
জাস্টিন মেরিনার


1

VB.NET (.NET 4.5), 104 বাইট

Function A(n)
For i=2To n
If n Mod i=0Then
A+=1
n\=i
End If
If n Mod i=0Then A=4
Next
A=A=3
End Function

আমি ভিবি এর বৈশিষ্ট্যটি ব্যবহার করছি যেখানে ফাংশনের নামটিও একটি পরিবর্তনশীল। মৃত্যুদন্ডের শেষে, যেহেতু কোনও রিটার্ন বিবৃতি নেই, এটি পরিবর্তে 'ফাংশন' এর মানটি পাস করবে।

শেষটি সি-ভিত্তিক ভাষাগুলিতে A=A=3ভাবা যেতে পারে return (A == 3)

2 এ শুরু হয় এবং প্রাইমগুলি পুনরাবৃত্তভাবে টান দেয়। যেহেতু আমি ক্ষুদ্রতম প্রাইমগুলি দিয়ে শুরু করছি, এটি কোনও সংমিশ্রিত সংখ্যার দ্বারা ভাগ করা যায় না।

দ্বিতীয়বার একই প্রধান দ্বারা ভাগ করার চেষ্টা করবে। যদি এটি হয় (যেমন কীভাবে 60 টি 2 দ্বারা দ্বিগুণ ভাগ করা হয়), এটি প্রাইমগুলির গণনা 4 তে নির্ধারণ করবে (একটি স্পেনিক সংখ্যার জন্য অনুমোদিত সর্বোচ্চের উপরে)।

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


1

ডায়ালগ এপিএল, 51 49 48 46 45 43 বাইট

1∊((w=×/)∧⊢≡∪)¨(⊢∘.,∘.,⍨){⍵/⍨2=≢∪⍵∨⍳⍵}¨⍳w←⎕

এটি অনলাইন চেষ্টা করুন! (পরিবর্তিত হয়েছে যাতে এটি ট্রাইএপিএল চলতে পারে)

আমি এমন একটি জমা দিতে চেয়েছিলাম যা দীর্ঘ হলেও এমনকি ডিফএনএস নেমস্পেসের উপর নির্ভর করে না ।


1

জে, 15 14 19 বাইট

পূর্ববর্তী প্রচেষ্টা: 3&(=#@~.@q:)~*

বর্তমান সংস্করণ: (*/*3=#)@~:@q: ::0:

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

(*/*3=#)@~:@q: ::0:  Input: integer n
               ::0:  n=0 creates domain error in q:, error catch returns 0
            q:       Prime factors of n
         ~:@         Nub sieve of prime factors 1 for first occurrence 0 for second
(*/*3=#)@            Number of prime factors is equal to 3, times the product across the nub sieve (product is 0 if there is a repeated factor or number of factors is not 3)

এটি 0, 8 এবং 60 কেসের ক্ষেত্রে পাস করে যা পূর্ববর্তী সংস্করণটি দেয় নি।


1
3 চক্রের জন্য কেন # = # cha। কি:? জে সেশন 3 = # ~ .ق: 30 ==> 1 এবং 3 = # ~ .ق: 20 ==> 0
রিচার্ড

রিচার্ড, আপনার পরামর্শটি n = 60 এর জন্য একটি মিথ্যা ইতিবাচক দেয় এবং এন = 0 এর জন্য একটি ডোমেন ত্রুটি তৈরি করে, তবে আমার আগের সংস্করণটিও এন = 60 এর জন্য ব্যর্থ হয়েছিল। আপনার মন্তব্য আমাকে সঠিক সমাধানের জন্য প্রচেষ্টা করতে প্ররোচিত করেছে!
বব

0

গণিত, 66 57 বাইট

Length@#1==3&&And@@EqualTo[1]/@#2&@@(FactorInteger@#)&

একটি বেনামী ফাংশন সংজ্ঞায়িত করে।

হ'ল ট্রান্সপোজ

ব্যাখ্যা

FactorIntegerউপাদানগুলির জোড়গুলির এবং তাদের ক্ষতিকারকদের একটি তালিকা দেয়। যেমন FactorInteger[2250]=={{2,1},{3,2},{5,3}}। এটি সহজেই ব্যবহারের জন্য স্থানান্তরিত হয় এবং ফাংশনটিতে খাওয়ানো হয় Length@#1==3&&And@@EqualTo[1]/@#2&। প্রথম অংশটি, Length@#1==33 টি স্বতন্ত্র কারণ রয়েছে কিনা তা পরীক্ষা করে দেখায়, দ্বিতীয়টি And@@EqualTo[1]/@#2সমস্ত খোষক 1 টি পরীক্ষা করে।


0

পিএইচপি, 66 বাইট:

for($p=($n=$a=$argn)**3;--$n;)$a%$n?:$p/=$n+!++$c;echo$c==7&$p==1;

পাইপ হিসাবে চালান -nRবা এটি অনলাইনে চেষ্টা করুন

জন্য অসীম লুপ 0; ঠিক করার $n&&আগে sert --$nোকান।

ভাঙ্গন

for($p=($n=$a=$argn)**3;    # $p = argument**3
    --$n;)                  # loop $n from argument-1
    $a%$n?:                     # if $n divides argument
        $p/=$n                      # then divide $p by $n
        +!++$c;                     # and increment divisor count
echo$c==7&$p==1;            # if divisor count is 7 and $p is 1, argument is sphenic

উদাহরণস্বরূপ
যুক্তি = 30:
মৌলিক উত্পাদক হয় 2, 3এবং 5
অন্যান্য ভাজক আছে 1, 2 * 3 = 6, 2 * 5 = 103 * 5 = 15
তাদের পণ্য: 1*2*3*5*6*10*15হয় 27000==30**3


0

পাইথন 99 বাইট

def s(n):a,k=2,0;exec('k+=1-bool(n%a)\nwhile not n%a:n/=a;k+=10**9\na+=1\n'*n);return k==3*10**9+3

প্রথম জমা। আমি কিছু ভুল করলে আমাকে ক্ষমা করুন। কিন্ডা নির্বোধ, কতগুলি কারণগুলির সংখ্যা nএবং তারপরে সংখ্যা গণনা করেn প্রতিটি দ্বারা বিভাজ্য হয় (10 ** 9 যোগ করে)।

আমি নিশ্চিত যে 10-20 ডলার অক্ষর কেটে ফেলার কয়েকটি সহজ উপায় আছে তবে আমি তা করি নি।

এছাড়াও এটি 10 ** 9 এ অবিচ্ছিন্নভাবে ধীর। পরিবর্তিত হয়ে ঠিক করা '...a+=1\n'*nযায় '...a+=1\n'*n**.5, কারণ আমাদের কেবলমাত্র বর্গাকারে যেতে হবে n

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