找出7个默森尼数。法国数学家默森尼曾提出下列公式:Mp=2^p-1。
2017-08-06 18:57
435 查看
找出7个默森尼数。法国数学家默森尼曾提出下列公式:Mp=2^p-1。
当p是素数并且Mp也是素数时,称Mp为默森尼数,
例如,p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;
而Mp=2^11-1=2047,11是素数,2047不是素数,因此2047不是默森尼数
#include <stdio.h>
#include <math.h>
int JudgePrime(int p) //判断一个数是否为素数,是则返回0,不是返回-1
{
int flag = 0;
int i = 0;
for (i = 2; i < p; i++)
{
if (p % i == 0)
{
flag = 1;
}
}
if (flag == 0)
{
return 0;
}
return -1;
}
int MersenneNum(long *Arr) //求Mersenne数,放入数组中
{
long int Mp = 0;
int p = 0;
int count = 0;
for (p = 2; p <= 10000; p++)
{
if (JudgePrime(p) == 0) //判断p是不是素数
{
Mp = pow(2, p) - 1;
if (JudgePrime(Mp) == 0)
{
Arr[count++] = Mp; //判断Mp是不是素数,是则放入数组中
if (count >= 7)
{
break;
//算出7个则退出
}
}
}
}
return count;
}
void PrintArr(long *Arr, int count) //打印结果
{
int i = 0;
for (i = 0; i < count; i++)
{
printf ("%ld ", Arr[i]);
}
printf ("\n");
}
int main()
{
long int Arr[100] = {0}; //存放求得的Mersenne number
int count = 0;
count = MersenneNum(Arr);
PrintArr(Arr, count);
return 0;
}
当p是素数并且Mp也是素数时,称Mp为默森尼数,
例如,p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;
而Mp=2^11-1=2047,11是素数,2047不是素数,因此2047不是默森尼数
#include <stdio.h>
#include <math.h>
int JudgePrime(int p) //判断一个数是否为素数,是则返回0,不是返回-1
{
int flag = 0;
int i = 0;
for (i = 2; i < p; i++)
{
if (p % i == 0)
{
flag = 1;
}
}
if (flag == 0)
{
return 0;
}
return -1;
}
int MersenneNum(long *Arr) //求Mersenne数,放入数组中
{
long int Mp = 0;
int p = 0;
int count = 0;
for (p = 2; p <= 10000; p++)
{
if (JudgePrime(p) == 0) //判断p是不是素数
{
Mp = pow(2, p) - 1;
if (JudgePrime(Mp) == 0)
{
Arr[count++] = Mp; //判断Mp是不是素数,是则放入数组中
if (count >= 7)
{
break;
//算出7个则退出
}
}
}
}
return count;
}
void PrintArr(long *Arr, int count) //打印结果
{
int i = 0;
for (i = 0; i < count; i++)
{
printf ("%ld ", Arr[i]);
}
printf ("\n");
}
int main()
{
long int Arr[100] = {0}; //存放求得的Mersenne number
int count = 0;
count = MersenneNum(Arr);
PrintArr(Arr, count);
return 0;
}
相关文章推荐
- 找出7个默森尼数。法国数学家默森尼曾提出下列公式:Mp=2^p-1。当p是素数并且Mp也是素数时,称Mp为默森尼数, 例如,p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;而Mp
- 【C编程】找出7个默森尼数。法国数学家默森尼曾提出下列公式:Mp=2^p-1。当p是素数并且Mp也是素数时,称Mp为默森尼数,
- 找出7个默森尼数,法国数学家默森尼曾提出下列公式:Mp=2^p-1。当p是素数,Mp也是素数时,称Mp为默森尼数, 例如,p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;而Mp
- 找出7个默森尼数。法国数学家默森尼曾提出下列公式:Mp=2^p-1。当p是素数并且Mp也是素数时,称Mp为默森尼数, 例如,p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;而Mp
- 泊松分酒(泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。有许多著名的公式定理以他的名字命名,比如概率论中著名的泊松分布。 有一次闲暇时,他提出过一个有趣的问题,后称为:)
- 找出7个默森尼数。
- 泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。 有许多著名的公式定理以他的名字命名,比如概率论中著名的泊松分布。
- 使用公式C=(5/9)(F-32)打印下列华氏温度与摄氏温度对照表。
- 数学家帮你找出最佳求职者 你只要先淘汰前37%的人
- 找出100以内内被7整除的数,每行显示7个,然后换行显示
- 今天是法国天才数学家Evariste Galois冥诞!
- 输入n值,并利用下列格里高里公式计算并输出圆周率
- 3.9 利用下列公式编程计算π的值:
- 【C语言】要求找出具有下列性质的数的个数(包含输入的自然数n): 先输入一个自然数n(n<=500),然后对此自然数按照如下方法进行处理:
- 欧拉工程第27题 找出为连续数字产生最多质数的二次公式
- 下列程序运行时会崩溃,请找出错误并改正,并且说明原因
- 钱币兑换问题( 找出公式即可 )
- 找出下列程序中的错误
- 泊松分酒 泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。
- 使用公式C=(5/9)(F-32)打印下列华氏温度与摄氏温度对照表。