大圆套小圆的问题

yjukh 2007-10-29 10:17:02
刚在两全其美上看到的,觉得很有意思,可以讨论一下~

给定一个大圆的半径R和一个小圆的半径r,(R>r)请问:在同一平面上,这个大圆里面能容纳的小圆的最大个数n是多少?

注意:
1、不是脑筋急转弯,是从一个问题中抽象出来的;
2、小圆不能重叠,排列方式无所谓,例如正方形排列或者菱形排列都可,总之要求最大的正整数n;
3、希望能够给出 n= f ( R, r ) 的关系。
...全文
1974 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
oopkfd 2008-06-16
  • 打赏
  • 举报
回复
to: cpp20071101
你的:
const double pi (1.41414) ;
从何而来呢?
星羽 2007-11-02
  • 打赏
  • 举报
回复
yangql 说的应该可以
fly_6189 2007-11-02
  • 打赏
  • 举报
回复
楼上的大哥 不好意识 我是新人 没看懂那个 算法为什么是
n = 取整[ ( 根号下2 ) 乘以 (大半径/小半径) ] ???
麻烦你了 能帮忙解释个不?
cpp20071101 2007-11-02
  • 打赏
  • 举报
回复
//这样或许会更好!
#include<iostream.h>
const double pi (1.41414) ;
void main()
{
int fun ( double R ,double r );
double R1,r2;
cout<<"enter bigcircle's radius :\n";
cin >> R1;
cout<<"enter smallcircle's radius :\n";
cin >> r2;
//检验正确性
if( ( ( fun(R1,r2) ) >= 1 ) && ( ( fun(R1,r2) ) <= ( R1*R1/r2*r2 ) ) )
cout<<"n = "<<fun(R1,r2)<<endl;
else
cout<<"error data!\n";
}
//square,circle,sphere完美几何体
int fun ( double R ,double r )
{
return pi*R/r ;
}

cpp20071101 2007-11-02
  • 打赏
  • 举报
回复
算法: n = 取整[ ( 根号下2 ) 乘以 (大半径/小半径) ] ? 对,错 ?
cpp20071101 2007-11-02
  • 打赏
  • 举报
回复
#include<iostream.h>
const double pi (1.41414) ;
void main()
{
int fun ( double R ,double r );
double R1,r2;
cout<<"enter bigcircle's radius :\n";
cin >> R1;
cout<<"enter smallcircle's radius :\n";
cin >> r2;
cout<<"n = "<<fun(R1,r2)<<endl;
}
//square,circle,sphere完美几何体
int fun ( double R ,double r )
{
return pi*R/r ;
}
PHILIPjjj 2007-11-02
  • 打赏
  • 举报
回复
大圆的面积
n=——————。也就是说:pi*R的平方>=pi*r的平方*n
小圆的面积
yjukh 2007-10-31
  • 打赏
  • 举报
回复
楼上的分析好像有道理!
yangql 2007-10-31
  • 打赏
  • 举报
回复
1、当r<R<2r时,n=1;
2、当2r<=R<2.1547r时,n=2;
3、当R>2.1547r时,先挨大圆边均匀分布一圈小圆,重新计算R,...
飞哥 2007-10-30
  • 打赏
  • 举报
回复
要解不等式啊?
我数学不好,我说过了
R^2 >= n*r^2
n*r < 2*R
r < R

还是有其他的解法,我是不知道了

33,323

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧