মার্সেন মৌলিক: সংশোধিত সংস্করণের মধ্যে পার্থক্য

বিষয়বস্তু বিয়োগ হয়েছে বিষয়বস্তু যোগ হয়েছে
সম্পাদনা সারাংশ নেই
202.134.14.131-এর সম্পাদিত সংস্করণ হতে Faizan-এর সম্পাদিত সর্বশেষ সংস্করণে ফেরত
১০ নং লাইন:
 
[[বিষয়শ্রেণী:সংখ্যাতত্ত্ব]]
 
determine a number mersenne prime or not in cpp.
#include<bits/stdc++.h>
#define m 20000005
using namespace std;
 
bool prime_bool[m+1];
 
void sieve_prime()
{
long long i,j,k=1;
 
prime_bool[0]=1;
prime_bool[1]=1;
for(i=4; i<=m; i+=2)
prime_bool[i]=1;
 
for(i=3; i*i<=m; i+=2)
{
if(prime_bool[i]==0)
for(j=i*i ; j<=m; j+=2*i)
prime_bool[j]=1;
}
}
int main()
{
int i,j,n,p;
sieve_prime();
while(scanf("%lld",&n)==1)
{
p=2,j=0;
for(i=2; i<=n/2; i++)
{
p*=2;
if(p-1==n && prime_bool[i]==0 && prime_bool[n]==0)
{
cout<<n<<" is a mersenne prime\n";
j=1;
break;
}
 
}
if(j==0)
cout<<n<<" is a not mersenne prime\n";
}
return 0;
}