| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4700 人关注过本帖
标题:已知n/2是完全平方数,n/3是立方数,编写一个程序求最小的正整数n.
只看楼主 加入收藏
zjxtx4431
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-8-31
收藏
得分:0 

数字这么小,在6的公倍数里递增穷举不是很简单?
int i,j;
for(i=1;i<=10000;i++){
j=i*6;
if(pow(pow(j/3,1/3),3)==j/3 && pow(sqrt(j/2),2)==j/2){
printf("%d",i);
break;
}
}

2007-08-31 21:50
williamlyf
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-8-30
收藏
得分:0 
啊~~~~~~~~~~~~~~~~~~~~~~厉害,佩服,谢谢!

谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!
谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!
谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!
谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!
谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!
谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!
谢谢!谢谢!谢谢!谢谢!谢谢!
谢谢!谢谢!谢谢!
谢谢!
2007-09-02 08:58
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用圆圆的鸟蛋在2007-8-31 9:57:58的发言:
c=(int)sqrt(1.5*b*b*b);
这句话的作用是什么呢??为什么要这样写??

sqrt开方函数

因为2*a*a = 3*b*b*b
所以a*a = 3/2 *b*b*b


Fight  to win  or  die...
2007-09-02 13:25
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用zjxtx4431在2007-8-31 21:50:48的发言:

数字这么小,在6的公倍数里递增穷举不是很简单?
int i,j;
for(i=1;i<=10000;i++){
j=i*6;
if(pow(pow(j/3,1/3),3)==j/3 && pow(sqrt(j/2),2)==j/2){
printf("%d",i);
break;
}
}

i=6;
while(1)
{
a=(int)sqrt(i/2);
b=(int)pow(i/3,1.0/3);
if(a*a*2==i&&b*b*b*3==i)
{
printf("%d\n",i);
break;
}
i+=6;
}


倚天照海花无数,流水高山心自知。
2007-09-02 14:09
远去的列车
Rank: 1
等 级:新手上路
威 望:2
帖 子:205
专家分:0
注 册:2007-8-7
收藏
得分:0 


float a = sqrt(1.5*i*i*i);
if (a == (int)a) // 开平方是个整数就行了
{
cout << 3*i*i*i << endl;
break;
}


C++学习
2007-09-03 10:36
圆圆的鸟蛋
Rank: 1
等 级:新手上路
帖 子:216
专家分:0
注 册:2007-4-22
收藏
得分:0 
以下是引用aipb2007在2007-9-2 13:25:52的发言:

sqrt开方函数

因为2*a*a = 3*b*b*b
所以a*a = 3/2 *b*b*b

原来如此。。多谢


鸟蛋开始孵化。。。我等待那一天Forever。。
2007-09-03 12:27
snakeImao
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-9-10
收藏
得分:0 
1.5*b*b*b==3/2*b*b*b;
而n=3*b*b*b;
n==sqrt(n/2);
所以n=sqrt(1.5*b*b*b)
2007-09-15 22:17
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
以下是引用aipb2007在2007-9-2 13:25:52的发言:

sqrt开方函数

因为2*a*a = 3*b*b*b
所以a*a = 3/2 *b*b*b

a*a = 3/2 *b*b*b
a*a = b*b*b*3/2
令b=2^m*3^n*k
a*a = 2^(3m-1) * 3^(3n+1) * k^3
可得到通解:
a = 2^((3m-1)/2) * 3^((3n+1)/2) * k^1.5
当m=n=1,k=0的时候就能得到一组最小的解



by 雨中飞燕 QQ:78803110 QQ讨论群:5305909

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/

[此贴子已经被作者于2007-9-16 2:12:50编辑过]

2007-09-16 02:12
wangweicoin
Rank: 1
等 级:新手上路
威 望:1
帖 子:58
专家分:0
注 册:2007-7-16
收藏
得分:0 

那个girl版主很强嘛!大家也都很厉害,问一下,楼上经常用的^是什么符号?就是(b=2^m*3^n*k)中的,不会是异或吧?


~我的人生不是套公式~
2007-09-16 08:43
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
a^b表示a的b次方


by 雨中飞燕 QQ:78803110 QQ讨论群:5305909

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/

[此贴子已经被作者于2007-9-16 9:06:43编辑过]

2007-09-16 09:06
快速回复:已知n/2是完全平方数,n/3是立方数,编写一个程序求最小的正整数n.
数据加载中...
 
   



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

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