| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1458 人关注过本帖
标题:能帮我找一下这个程序错在哪?结果不对,貌似好像是pow出了问题,怎么改都不 ...
只看楼主 加入收藏
秦时的明月夜
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:13
帖 子:126
专家分:504
注 册:2013-3-12
结帖率:91.67%
收藏
已结贴  问题点数:20 回复次数:5 
能帮我找一下这个程序错在哪?结果不对,貌似好像是pow出了问题,怎么改都不行!结果都是零!
/*
形如2n-1的素数称为梅森数。例如22-1=3、23-1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了231-1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。请定义和调用函数mersenne()输出指数n<20的所有梅森数。


*/
#include<stdio.h>
#include<math.h>
int mersenne(int n);
main()
{  
   double y;
  for(int i=1;i<=20;i++)
  {
      y=pow(2,i)-1;
      if(mersenne(y)==1)
      printf(" %d ",y);
  }
  return 0;
}
int mersenne(int n)
{
    for(int i=2;i<=n-1;i++)
    {
        if(n%i==0)
            break;
        if(i>=n-1)
            return 1;
    }

}
搜索更多相关主题的帖子: include double return 
2013-04-22 23:29
jason520
Rank: 1
来 自:海南
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-4-22
收藏
得分:0 
Error: Could not delete file "C:\Users\Administrator\Desktop\Debug\Cpp1.exe" : 拒绝访问。




我爱学习,我要学习!;
2013-04-22 23:42
chtian
Rank: 2
等 级:论坛游民
帖 子:31
专家分:58
注 册:2012-8-28
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<math.h>
int mersenne(int n);
main()
{ 
   int y;
   int i;
  for(i=1;i<20;i++)
  {
      y=pow(2,i)-1;
      if(mersenne(y)==1)
      printf(" %d ",y);
  }
  return 0;
}
int mersenne(int n)
{
    int i;
    for(i=2;i<=sqrt(n);i++)
    {
        if(n%i==0)
            return 0; 
    }
    return 1;
} 

mersenne函数没有返回值
2013-04-23 00:20
helloUJS
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:168
专家分:731
注 册:2013-3-27
收藏
得分:20 
1.pow(m,n)函数计算结果为实数,实数不能求余数,所以不能用标准函数计算2^n,自定义一个函数:
long pow1(int m,int n)
{long s=1,i;
 for(i=1;i<=n;i++)
   s=s*m;
 return s;
}
2.素数判断函数有错,改为:
int mersenne(long n)
{
    for(int i=2;i<=n-1;i++)
       if(n%i==0)
            return 0;
    return 1;
}

[ 本帖最后由 helloUJS 于 2013-4-23 07:10 编辑 ]
2013-04-23 07:04
秦时的明月夜
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:13
帖 子:126
专家分:504
注 册:2013-3-12
收藏
得分:0 
回复 4楼 helloUJS
为什么!我不求余!直接打印y=pow(2,i)-1;结果也都是0;
2013-04-23 10:46
秦时的明月夜
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:13
帖 子:126
专家分:504
注 册:2013-3-12
收藏
得分:0 
回复 4楼 helloUJS
我知道了,想明白了,谢谢!
2013-04-23 10:48
快速回复:能帮我找一下这个程序错在哪?结果不对,貌似好像是pow出了问题,怎么 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017149 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved