| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 849 人关注过本帖
标题:哥德巴赫猜想~求指导~求指导
只看楼主 加入收藏
约束小朋友
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2013-5-28
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:10 
哥德巴赫猜想~求指导~求指导
以下是我自己写的程序
写到这里还是不对
我已经没有思路了
而且系统又老是说我错
错的也是一下很无厘头的地方
在网上查看别人写的程序
又跟我的出入很大
我不想按照别人写的那样改我的程序
于是我想问一下,我写的这个程序之所以不行
错误是错在细节
还是整个本身就是个错的无厘头程序呢
如果错在细节,求指导
PS:新手入门调试什么的不太懂,我自己调试也调不出个所以然


#include<stdio.h>
#include<math.h>
int isprimenumber(int n);
void main()
{
  int num,i,a;
  
  printf("请输入一个大于或等于6的整数偶数:");
  scanf("%d",&num);
  for(i=2;i<num;i++)
     {
      if(isprimenumber(a)&&isprimenumber(num-a))
      {
          printf("%d=%d+%d",num,a,num-a);
      }
  }
}
int isprimenumber(int n)
{
    int k;
    for(k=2;k<spart(n+1);k++)
    {
        if(n%k==0)
            return 0;
    }
    return 1;
}



系统说我调用函数哪里的spart不能识别。。。。。
spart不是math.h里的函数吗


[ 本帖最后由 约束小朋友 于 2013-6-11 20:02 编辑 ]
搜索更多相关主题的帖子: 网上 而且 include 哥德巴赫 
2013-06-11 19:49
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:8 
程序代码:
#include<stdio.h>
#include<math.h>
int isprimenumber(int n);
void main()
{
  int num,i,a;

 
  printf("请输入一个大于或等于6的整数偶数:");
  scanf("%d",&num);
  for(a=2;a<num;a++)//...
     {
      if(isprimenumber(a)&&isprimenumber(num-a))
      {
          printf("%d=%d+%d\n",num,a,num-a);
      }
  }
}
int isprimenumber(int n)
{
    int k;
    for(k=2;k<sqrt(n);k++)
    {
        if(n%k==0)
            return 0;
    }
    return 1;
}

www.qunxingw.wang
2013-06-11 22:54
约束小朋友
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2013-5-28
收藏
得分:0 
回复 2楼 qunxingw
这个  如果我输入6的话就会有2+4出现
可是4应该不是素数来的
我调用函数那个  本意是用来判断是否是素数
可是为什么不起作用的
是我的算式问题吗还是逻辑问题?
2013-06-12 12:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
你从那里看到spart()的函数?最起码用电子字典查一查“平方根”的英文怎么拼写啊!难道你不知道自己要求平方根?

授人以渔,不授人以鱼。
2013-06-12 12:34
约束小朋友
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2013-5-28
收藏
得分:0 
回复 4楼 TonyDeng
那个是我问同学  同学是这么告诉我的
2013-06-12 13:24
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
既然出错了,还不照我说的做?信别人也要自己求证一下啊。

授人以渔,不授人以鱼。
2013-06-12 13:29
约束小朋友
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2013-5-28
收藏
得分:0 
回复 6楼 TonyDeng
我已经改了  可是就是有点纠结
最后结果不是我要的结果
最后的结果要求两个素数相加得出输入的大于六的偶数
可是结果出现了合数加素数或者合数加合数
所以我在想是不是我的算式有问题还是我的语法存在逻辑错误
还是因为我的系统是win7系统
兼容性的问题  把它给和谐了

[ 本帖最后由 约束小朋友 于 2013-6-12 13:38 编辑 ]
2013-06-12 13:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
单步跟踪isprimenumber()函数里面的动作和数据。

授人以渔,不授人以鱼。
2013-06-12 13:40
约束小朋友
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2013-5-28
收藏
得分:0 
回复 8楼 TonyDeng
哦哦  谢谢
程序改好啦
谢谢你的指导
2013-06-12 13:54
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:0 
回复 9楼 约束小朋友
你开始的判断函数是对的,另还要注意一个错误,关于1的情况
调整为:for(a=2;a<num && num-a !=1 ;a++)

www.qunxingw.wang
2013-06-12 16:27
快速回复:哥德巴赫猜想~求指导~求指导
数据加载中...
 
   



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

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