void Mersen(unsigned int power)
unsigned long long NumberToPower(unsigned short number, unsigned int power)
{
unsigned long long result=1;
while(power--)
{
result*=number;
}
return result;
}
#include <iostream>
#include <iomanip>
using namespace std;
typedef unsigned long long _long;
// Проверяет является ли число числом Мерсенна
bool isMersen(_long num)
{
if(num)
{
// Пока не найден нулевой бит
while(num&1)
{
// Сдвигаем вправо
num>>=1;
};
// Если num!=0 то число не является числом Мерсенна
return !num;
}
else
{
return false;
}
}
int main()
{
_long num;
cout<<"Enter number:";
cin>>num;
cout<<"isMersen("<<num<<")="<<boolalpha<<isMersen(num)<<endl;
system("PAUSE");
return 0;
}
Enter number:20
isMersen(20)=false
Enter number:254
isMersen(254)=false
Enter number:255
isMersen(255)=true
Enter number:18446744073709551615
isMersen(18446744073709551615)=true
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.