ভাগ এবং বিভক্ত এবং বিজয়


22

কখনও কখনও, যখন আমি অলসভাবে আমার সামনে যা কিছু নম্বর পপ করে ফ্যাক্টর চেষ্টা করি, কিছুক্ষণ পরে আমি বুঝতে পারি যে এটি আমার চিন্তাভাবনার চেয়ে সহজ। নিন 2156উদাহরণস্বরূপ: এটা শেষ পর্যন্ত আমাকে যেটা উভয় 21এবং 56এর গুণিতক 7, এবং তাই অবশ্যই 2156 = 21 x 100 + 56এছাড়াও একটি একাধিক 7

আপনার টাস্কটি এমন কিছু কোড লিখুন যা এই ধরণের কাকতালীয় কারণে একক সংখ্যাগুলির পক্ষে শনাক্ত করা সহজ factor

আরো স্পষ্ট করে:

এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা ইতিবাচক পূর্ণসংখ্যাকে nইনপুট হিসাবে গ্রহণ করে এবং যদি কোনও বিভাজক d(এর চেয়েও বেশি 1) উপস্থিত থাকে তবে সত্যবাদী মান ফেরত দেয় যা দুটিকে nদুটি ধনাত্মক পূর্ণসংখ্যার জন্য কাটা যেতে পারে, যার প্রতিটিই একাধিক d; মিথ্যা মান না ফেরৎ যদি।

  • "দুটি টুকরো টুকরো করা" এর অর্থ যা আপনি মনে করেন: সাধারণ বেস -10 উপস্থাপনাটি nকোনও এক সময় সামনের অর্ধেকের অর্ধেক অংশে বিভক্ত হয়ে অন্য দুটি বেস -10 পূর্ণসংখ্যা অর্জন করে। এটি ঠিক আছে যদি দ্বিতীয় পূর্ণসংখ্যার একটি শূন্য শূন্য থাকে (তবে মনে রাখবেন এটি অবশ্যই ইতিবাচক পূর্ণসংখ্যার, সুতরাং এতে বিভক্ত 1230হওয়া 123এবং 0বৈধ নয়)।
  • সত্যবাদী এবং মিথ্যা মানগুলি ইনপুটটির উপর নির্ভর করতে পারে। উদাহরণস্বরূপ, যদি কোনও ননজারো পূর্ণসংখ্যা আপনার পছন্দের ভাষাতে সত্যবাদী হয়, তবে আপনাকে বিভাজক dবা তার "টুকরা" এর মধ্যে একটি n(বা nসেই বিষয়টির জন্য) ফেরত দিতে আপনাকে স্বাগত জানানো হবে ।
  • উদাহরণস্বরূপ, সেটে কমপক্ষে দুটি অঙ্ক সহ যে কোনও সংখ্যক {2, 4, 6, 8}একটি সত্যবাদী মান অর্জন করবে: কেবল প্রথম অঙ্কের পরে এটি ভাগ করুন। এছাড়াও উদাহরণস্বরূপ, যে কোনও মৌলিক সংখ্যা nএকটি মিথ্যা মান প্রদান করবে, কোনও এক-সংখ্যা সংখ্যা হিসাবে।
  • নোট করুন যে এটি প্রধান বিভাজক বিবেচনা করা যথেষ্ট d
  • আপনি ইনপুটটি বৈধ বলে ধরে নিতে পারেন (এটি একটি ধনাত্মক পূর্ণসংখ্যা)।

এটি , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী। তবে সমস্ত ভাষায় সমাধানগুলি স্বাগত, তাই আমরা সামগ্রিকভাবে সংক্ষিপ্ততম কোডটি নয়, প্রতিটি ভাষায় স্বল্পতম কোডের জন্য প্রচেষ্টা করতে পারি।

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

(আপনাকে কেবলমাত্র সত্যবাদী বা মিথ্যা মান আউটপুট করতে হবে; নীচের টীকাগুলি কেবল ব্যাখ্যার মাধ্যমে।) সত্যবাদী মানগুলি প্রাপ্ত কিছু তথ্য হ'ল:

39  (3 divides both 3 and 9)
64  (2 divides both 6 and 4)
497  (7 divides both 49 and 7)
990  (splitting into 99 and 0 is invalid; but 9 divides both 9 and 90)
2233  (11 divides both 22 and 33)
9156  (3 divides both 9 and 156; or, 7 divides both 91 and 56)
11791  (13 divides both 117 and 91)
91015  (5 divides both 910 and 15)
1912496621  (23 divides both 1912496 and 621; some splittings are multiples of 7 as well)
9372679892  (2473 divides both 937267 and 9892; some splittings are multiples of 2 as well)

মিথ্যা মানগুলি প্রাপ্ত কিছু ইনপুটগুলি হ'ল:

52
61
130  (note that 13 and 0 is not a valid splitting)
691
899
2397
9029
26315
77300  (neither 7730 and 0 nor 773 and 00 are valid splittings)
2242593803

¹ হ্যাঁ আমি সত্যিই এটি করি

উত্তর:


7

রেটিনা , 31 29 বাইট


,$';$`
\d+
$*
;(11+)\1*,\1+;

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

বৈধ ইনপুটগুলির জন্য একটি ধনাত্মক পূর্ণসংখ্যা এবং অবৈধগুলির জন্য শূন্য আউটপুট দেয়।

আমি বৃহত্তর পরীক্ষার কেসগুলির জন্য অপেক্ষা করার পরামর্শ দেব না ...

ব্যাখ্যা


,$';$`

ইনপুটটির প্রতিটি অবস্থানে একটি কমা sertোকান, তারপরে সেই অবস্থানের আগে সমস্ত কিছু, তারপরে একটি সেমিকোলন, তারপরে এই অবস্থানের পরে সবকিছু। এটা কি করে? এটি আমাদেরকে একটি সংখ্যার সমস্ত সম্ভাব্য বিভাজন দেয় (ভাগ করে ,আলাদা করে আলাদা করে ;) এবং তারপরে আবার ইনপুট। সুতরাং ইনপুট 123হয়ে যায়

,123;1,23;12,3;123,;123
     ^     ^     ^

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

\d+
$*

প্রতিটি সংখ্যা আনারিতে রূপান্তর করুন।

;(11+)\1*,\1+;

কমপক্ষে 2 এমন কোনও সংখ্যার গুণক হিসাবে উভয় অংশকে মিলিয়ে একটি বিভাজনকে মেলাও।


রেটিনা সম্পর্কে দ্রুত প্রশ্ন: শীর্ষস্থানীয় নিউলাইনটি কী করবে?
হাইপারনিউটারিনো

@ হাইপারনিট্রিনো ওয়েল প্রথম লাইনটি হ'ল প্রথম রেগেক্স আমরা মেলে এবং অক্ষরের মধ্যে প্রতিটি অবস্থানের পরিবর্তে inোকাতে খালি রেজেক্সটি আমরা মেলাতে চাই।
মার্টিন এেন্ডার

ওহ ঠিক আছে. ধন্যবাদ! আমার সম্ভবত রেটিনার দিকে আরও কিছুটা তাকানো উচিত; যেহেতু এটি বেশিরভাগ ক্ষেত্রে রেজেক্স ভিত্তিক মনে হচ্ছে এটি কলমোগোরভ-জটিলতার সমস্যার জন্য ভাল ।
হাইপারনিউটারিনো

শেষ লাইনটি হতে পারে;(11+)+,\1+;
রিলে

@ রিলে যা গ্যারান্টি দেয় না যে প্রথম বিভাগটি একই উপাদানটির একাধিক।
মার্টিন ইন্ডার

6

ব্র্যাচল্যাগ (2), 8 বাইট

~c₂ḋᵐ∋ᵐ=

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

ব্যাখ্যা

~c₂ḋᵐ∋ᵐ=
~c₂       Split the input into two pieces
    ᵐ ᵐ   On each of those pieces:
   ḋ ∋      Choose a prime factor
       =  such that both the chosen factors are equal

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

অভ্যন্তরীণ শূন্যগুলির সাথে মিলে যাওয়ার দরকার নেই; যদি এর একটি বিভক্ত xএবং 0yবৈধ, x0এবং yঠিক যেমন ভাল কাজ করবে (এবং অন্যান্য উপায় যাচ্ছে, যদি x0এবং yকাজ, তারপর আমরা কাজ সমাধান কিনা নির্বিশেষে আছে xএবং 0yকাজ বা না হবে)।

একটি ব্র্যাচল্যাগ পূর্ণ প্রোগ্রাম, এর মতো একটি বুলিয়ান প্রদান করে; true.যদি ব্যর্থতা ছাড়াই এটি চালানোর কোনও উপায় থাকে (যেমন পছন্দগুলি এমন কোনও সিদ্ধান্ত নেওয়া যাতে কোনও ত্রুটি না ঘটে), false.যদি সমস্ত পথ ব্যর্থতার দিকে পরিচালিত করে। আমরা এখানে যা চাই ঠিক তা-ই।


4

জেলি , 14 12 11 10 বাইট

ŒṖḌo1g/€P>

@ জোনাথান অ্যালানকে 1 বাইট বন্ধ করে গল্ফ করার জন্য ধন্যবাদ!

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

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

ŒṖḌo1g/€P>  Main link. Argument: n

ŒṖ          Compute all partitions of n's decimal digits.
  Ḍ         Undecimal; convert each array in each partition back to integer.
   o1       OR 1; replace disallowed zeroes with ones.
     g/€    Reduce (/) each (€) partition by GCD (g).
            The last GCD corresponds to the singleton partition and will always be
            equal to n. For a falsy input, all other GCDs will be 1.
        P   Take the product of all GCDs.
         >  Compare the product with n.

আমি তোমাদের ড্রপ করতে পারেন মনে D, যেমন make_digitsকার্যকর থাকে ŒṖ
জোনাথন অ্যালান

কিছু কারণে, আমি ধরে নিয়েছি যে এটি একটি পরিসীমা তৈরি করবে ... ধন্যবাদ!
ডেনিস

3

গণিত, 63 62 বাইট

(গ্রেট মার্টিনকে 1 বাইট ধন্যবাদ)

1<Max@@GCD@@@Table[1~Max~#&/@Floor@{Mod[#,t=10^n],#/t},{n,#}]&

এটি এমন একটি ফাংশন যা কোনও পূর্ণসংখ্যা ইনপুট হিসাবে নেয় এবং ফেরত দেয় Trueবা False। আপনি যদি এটি একটি বড় সংখ্যায় পরীক্ষা করেন তবে অপেক্ষা করার সময় পড়ার জন্য একটি বই আনুন।

ব্যাখ্যা:

  • Floor@{Mod[#,t=10^n],#/t}গাণিতিকভাবে ইনপুটটিকে তার শেষ nঅঙ্কগুলিতে এবং বাকী m-nঅঙ্কগুলিতে বিভক্ত করে (যেখানে সংখ্যার mমোট সংখ্যা রয়েছে)।
  • Table[1~Max~#&/@...,{n,#}]nইনপুট নম্বর পর্যন্ত প্রতিটি জন্য এটি করে । (এটি বেশ বড় উপায়। ইনপুটটির অঙ্কের সংখ্যা পর্যন্ত আমাদের এটি করা দরকার তবে এইভাবে বাইটগুলি সংরক্ষণ করে এবং এখনও সঠিক ফলাফল দেয়)) 1~Max~#&/@বিটটি শূন্যগুলি থেকে মুক্তি পায়, সুতরাং সংখ্যাগুলি 130 -> {13,0}গণনা না করার মতো যেমন True
  • 1<Max@@GCD@@@... এই জোড়গুলির প্রত্যেকটির সর্বাধিক সাধারণ বিভাজক আবিষ্কার করে এবং এই বিভাজনকারীগুলির মধ্যে কোনও 1 টির চেয়ে বেশি কিনা তা পরীক্ষা করে থাকে যদি সেগুলি হয় তবে আমরা সংখ্যাটি বিভক্ত করে ফ্যাক্ট করার একটি উপায় খুঁজে পেয়েছি।

1
চমৎকার উত্তর! আপনি {#~Mod~10^n,#/10^n}বা একটি দিয়ে একটি বাইট সংরক্ষণ করতে পারেন {Mod[#,t=10^n],#/t}
গ্রেগ মার্টিন

আমি চেষ্টা করেছিলাম #~Mod~10^n, তবে মনে হচ্ছে এটির Mod[#,10]^nবদলে বন্ধনী লাগবে Mod[#,10^n]। যদিও আমি আপনার দ্বিতীয় পরামর্শটি ভেবে দেখিনি!
একটি গাছ নয়

ফেয়ার পয়েন্ট অনMod[#,10]^n
গ্রেগ মার্টিন


2

সি, 145 142 139 138 135 বাইট

i,a,b;f(){char s[99];scanf("%s",s);for(char*p=s;*p++;)for(b=atoi(p),i=*p,*p=0,a=atoi(s),*p=i,i=1;i++<b;)*s=a%i-b%i|b%i?*s:0;return!*s;}

2

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

f=(s,t='',u)=>u?s%t?f(t,s%t,1):t:s&&f(t+=s[0],s=s.slice(1),1)>1|f(s,t)
<input oninput=o.textContent=f(this.value)><span id=o>

স্ট্রিং হিসাবে ইনপুট নেয়, যা স্নিপেটের জন্য কার্যকর। সম্পাদনা: @ ব্যবহারকারী 81655 ধন্যবাদ 3 বাইট সংরক্ষণ করা।


দুটি বাইট সংরক্ষণ করে: (c,i)-> c, i+1-> ++i, t=''-> i=t='', এই কৌশলটি আপনাকে যে কোনও সময় 1-ভিত্তিক সূচকগুলি ব্যবহার করার প্রয়োজন হয় এবং কোথাও সূচনা iকরার জন্য দরকারী 0
ব্যবহারকারী81655

এছাড়াও আমি বিশ্বাস করি t=''কিছু হতে পারে t=0যোগ যেহেতু ccoerces এটি একটি স্ট্রিং যাহাই হউক না কেন।
ব্যবহারকারী81655

@ ইউজার ৮১65৫৫ এটি হ'ল কারণ আমি প্রাথমিকভাবে থেকে এবং iটুকরো টুকরো করে ফেলেছি, সুতরাং আমার 1-ভিত্তিক সূচকগুলির প্রয়োজন নেই, তবে আমি প্রথম টুকরোটি গল্ফ করেছি t+=c
নীল

আহ, ঠিক আছে. এছাড়াও গত এক জিনিস, আমি মনে করি এই একটি recursive ফাংশন হিসাবে খাটো হতে পারে: f=(x,y,z)=>z?x%y?g(y,x%y):y:x?f(x,y,1)>1||f(x.slice(1),~~y+x[0]):0। আমি আপনার জিসিডি ফাংশনটিও সংযুক্ত fকরেছি। সম্ভবত আরও গল্ফ করা যেতে পারে। শেষ পরামর্শ, আমি প্রতিশ্রুতি! : পি
ব্যবহারকারী 81655

@ ইউজার ৮১5৫৫ দুঃখজনকভাবে আমার ওভারসিম্প্লিফাইড gcdফাংশনটি কখন কাজ করে না x=0, এবং তার চারপাশে কাজ করে এবং আপনার টাইপো আমাকে 72২ বাইটে নিয়ে যায়, তাই আমি ভাগ্যবান যে আমি তখন 2 বাইট গল্ফ করতে সক্ষম হয়েছি।
নীল

2

পাইথন 3, 133 118 117 বাইট

i,j=int,input()
from fractions import*
print(any(i(j[k:])*i(j[:k])*~-gcd(i(j[k:]),i(j[:k]))for k in range(1,len(j))))

অবশ্যই সংক্ষিপ্ততম নয়, সম্ভবত কিছুটা ছোট করা যেতে পারে। O(n)সময় কাজ করে । ইনপুট ফর্ম্যাটে নেওয়া হয় \d+এবং (True|False)ডিফল্ট হিসাবে পাইথন বুলিয়ান মান
-3 বাইট অনুযায়ী ডেড
পসুম -15 বাইট ধন্যবাদ ovs
-1 বাইট ধন্যবাদ এই গাইয়ের জন্য ফর্ম্যাটে দেওয়া হয়


from fractions import*3 বাইট সাশ্রয় করবে
ডেড পসসাম

এটি 900 এর জন্য সত্য ফিরে আসে I আমার ধারণা, এটি ভুল। মেগাবাইট আপনি ভেতরের পরিবর্তন করা উচিত anyকাছে all? যদি এটি হয় তবে আপনি সমস্ত অংশটি i(j[k:])and i(j[:k])125 বাইটে নিয়ে আসতে পারেন। এখানে ফিক্সগুলি রয়েছে
মৃত পসসাম

আপনি এবং any(i(j[k:])*i(j[:k])*~-gcd(i(j[k:]),i(j[:k]))for k in range(1,len(j)))
সমস্তটি

@ ডেডপসসাম ওহ ঠিক আছে, আমার এটি করা উচিত ছিল। এবং হ্যাঁ, আমার বর্তমান পদ্ধতিতে এতে প্রচুর গল্ফযোগ্য অংশ রয়েছে তবে আমি ovs এর পরামর্শ অনুসরণ করব। যে ইশারা জন্য ধন্যবাদ! (সত্যই এটি নিজেই পরীক্ষা করে দেখা উচিত ... ওহ ভাল ...)
হাইপারনিউট্রিনো ২৩:০৮

আপনি )) for
23:58

1

কিউবিআইসি , 91 90 বাইট

;_LA|[a-1|B=left$(A,b)┘C=right$(A,a-b)┘x=!B!┘y=!C![2,x|~(x>1)*(y>1)*(x%c=0)*(y%c=0)|_Xq}?0

ব্যাখ্যা:

;               Get A$ from the command prompt
_LA|            Get the length of A$ and place it in a% (num var)
[a-1|           for b%=1; b% <= a%-1; b%++
B=left$(A,b)    break A$ in two components on index b%
C=right$(A,a-b)
x=!B!┘y=!C!     Convert both parts from string to num, assign to x% and y%
[2,x|           FOR c% = 2; c% <= x%; c%++

This next IF (~ in QBIC) is a bit ... iffy. It consists of a set of comparators.
Each comparator yields a -1 or a 0. We take the product of these. At any failed
comparison this will yield 0. When successful, it yields 1, which is seen as true by QBasic.

~(x>1)*(y>1)        IF X>1 and Y>1 --> this stops '00' and '1' splits.
*(x%c=0)*(y%c=0)    Trial divide the splits on loop counter c%.

|_Xq            Success? THEN END, and PRINT q (which is set to 1 in QBIC)
}               Close all language constructs (2 FOR loops and an IF)
?0              We didn't quit on match, so print 0


1

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

-pপতাকার জন্য 43 বাইট কোড + 3 বাইট ।

s~~$\|=grep!($`%$_|$'%$_),2..$`if$`*$'~ge}{

এটি অনলাইন চেষ্টা করুন! অথবা একাধিক ইনপুটকে মঞ্জুরি দেওয়ার জন্য এই পরিবর্তিত সংস্করণটি ব্যবহার করে দেখুন।
আপনি সম্ভবত বৃহত্তম ইনপুটটিতে এটি চেষ্টা করতে চান না, কারণ এটি কিছুটা সময় নিতে পারে (খুব দীর্ঘ)।

ব্যাখ্যা:
আমরা শব্দের প্রতিটি অবস্থানের s~~~gসাথে $`পূর্বে সংখ্যা এবং $'তার পরে সংখ্যাগুলি দিয়ে পুনরাবৃত্তি করি । যদি $`*$'এটি সত্য হয় (এর অর্থ কোনওটি শূন্য নয়, এবং কোনওটিই নেই 0) তবে আমরা 2 $`টির মধ্যে একটি সংখ্যা এবং উভয়কে (এর সাথে grep!(...),2..$`) বিভক্ত করে কিনা তা পরীক্ষা করে দেখি । যদি তা হয় তবে একটি শূন্য-মান $\|=..নির্ধারণ $\করা হবে , যা -pপতাকাটির জন্য অন্তর্নিহিতভাবে প্রিন্ট করা আছে ।


2
কেউ $<backquote>যদি এসই মার্কডাউনতে কীভাবে রেন্ডার করতে জানে , আপনি কীভাবে আমাকে বললে আমি কৃতজ্ঞ হব।
দাদা

1
আপনি এটি স্পষ্ট করে <code>... </code>(বরং ``) ব্যবহার করে করতে পারেন , তারপরে ব্যাককোটগুলি এড়িয়ে চলুন \`। এছাড়াও, এই মন্তব্যটি লেখার জন্য একটি বেদনা ছিল, কারণ এটি ডাবল-পলায়ন করতে হবে (এবং পালানোর নিয়মের দুটি সেট পৃথক!)।

@ ais523 আশ্চর্যজনক, আপনাকে অনেক ধন্যবাদ! :)
দাদা

0

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

f=lambda n,d=10,k=2:k<d<n and(n/d%k+n%d%k<1<n%d)|f(n,d,k+1)|f(n,10*d)

জিসিডি বিল্ট-ইনগুলির পরিবর্তে পুনরাবৃত্তি ব্যবহার করে।

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

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

যখন f কে এক থেকে তিনটি আর্গুমেন্ট দিয়ে ডাকা হয় ( ডি-কে ডিফল্ট 10 , কে টু) 2 ), এটি প্রথমে এক্সপ্রেশনটির মান পরীক্ষা করে k<d<n। যদি অসমতা k <d এবং d <n উভয়ই ধরে রাখে, নীচের এক্সপ্রেশনটি andকার্যকর হয়ে যায় এবং এর মান ফিরে আসে; অন্যথায়, সহজেই মিথ্যা ফিরিয়ে দেবে ।

পূর্ববর্তী ক্ষেত্রে, আমরা প্রকাশটি মূল্যায়ন করে শুরু করি n/d%k+n%d%k<1<n%d

সর্বদা দশের শক্তি হবে, n/dএবং এবংn%d কার্যকরভাবে n এর দশমিক অঙ্কগুলি দুটি টুকরোতে বিভক্ত করুন । এই স্লাইসগুলি কে দ্বারা কে উভয়ই বিভাজ্য এবং যদি কেবল 0 তেn/d%k+n%d%k মূল্যায়ন হয় তবে ফলাফলটি 1 এর সাথে তুলনা করে পরীক্ষা করা হয় ।

যেহেতু প্রয়োজনীয়তার অংশটি হ'ল উভয় টুকরোগুলি অবশ্যই ইতিবাচক পূর্ণসংখ্যার প্রতিনিধিত্ব করে, এর মান n%d সাথে তুলনা করা হয় 1 এর । মনে রাখবেন যে 1 এর কোনও প্রধান বিভাজক নেই, সুতরাং 0 এর সাথে আরও ব্যয়বহুল তুলনা করার প্রয়োজন নেই। এছাড়াও, নোট করুন যে ডি <এন ইতিমধ্যে নিশ্চিত করে যে এটি n/dইতিবাচক পূর্ণসংখ্যার জন্য মূল্যায়ন করবে।

পরিশেষে এটি পুনরাবৃত্তভাবে সমস্ত f(n,d,k+1)(পরবর্তী সম্ভাব্য সাধারণ বিভাজক f(n,10*d)চেষ্টা করে ) এবং (বিভাজন চেষ্টা করে) এবং তিনটি ফলাফলের লজিক্যাল ওআর প্রদান করে। এর অর্থ f টি সত্য ফিরে আসবে যদি (এবং কেবলমাত্র) কে n / d এবং এর সাধারণ বিভাজক হয় n% d বা কে এবং / বা দশ ডি এর উচ্চতর পাওয়ারের ক্ষেত্রে এটি একই হয় ।

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