| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1057 人关注过本帖
标题:一个整数(
只看楼主 加入收藏
simpley
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2005-2-23
收藏
得分:0 
楼上的程序得出的最后一个数是错的

myQQ::445750010
2005-07-11 15:36
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
int main()//400
 {
  int num=0;
  int ok=0;
   while(num<400)
    {
     for(int i=0;i<400;i++)
      if(i*i==num*num+168)
       {
        if((num*num-100)>0)
        {
         printf("%d",num*num-100);
         ok=1;
         break;
        }
       }
     if(ok==1)
      break;
     num++;
    }
  return 0;
 }
结果是21!

差点把你忘了...
2005-07-11 18:23
lhy198548
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2005-6-11
收藏
得分:0 
以下是引用simpley在2005-7-11 15:36:20的发言: 楼上的程序得出的最后一个数是错的
之所以产生这样的错误,是因为忽视了int类型的取值范围,其实由(a+b)*(b-a)==168与a<b可知必有b<168,这样就不会超出整型范围了
2005-07-11 19:37
kaikai
Rank: 1
等 级:新手上路
帖 子:236
专家分:0
注 册:2005-1-7
收藏
得分:0 
a*a+168=b*b
(b+a)(b-a)=168=2*2*2*3*7
b=a+c;
a*a+168=a*a+2ac+c*c
(2a+c)c=168 则c必为偶数,令c=2d,有
(2a+2d)*2d=168
(a+d)*d=42=2*3*7
d= 1, 2, 3,6, 7, 14, 21, 42, -1, -2, -3,-6, -7, -14, -21, -42
由于a=42/d-d,则有:
a=41, 19, 11, 1, -1, -11, -19, -41, -41, -19, -11, -1, 1, 11, 19, 41,
a*a-100=1581, 261, 21, -99, -99, 21, 261, 1581, 1581, 261, 21, -99, -99, 21, 261, 1581,
去掉重复的
答案是:1581, 261, 21, -99

Have you visit acm.tongji. lately?
2005-07-12 00:49
牛虻
Rank: 1
等 级:新手上路
威 望:1
帖 子:472
专家分:0
注 册:2004-10-1
收藏
得分:0 
呵呵,kaikai都口算出来了
PS:10楼的思路确实不错
再PS:天使,帮你的程序改了一下
int main()
{  int num=0,i;
   while(num&lt;168)
    {i=0;
      while(i&lt;168)
      {if(i*i==num*num+168)
       printf("\n%d",num*num-100);
       i++;
       }
     num++;
     }
  getch();
return 0;
}
遗漏是由于if((num*num-100)&gt;0)所造成;还有第二个break;

[此贴子已经被作者于2005-7-12 16:03:31编辑过]



土冒
2005-07-12 15:39
快速回复:一个整数(
数据加载中...
 
   



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

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