| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1334 人关注过本帖
标题:c刚学,求帮助,谢谢
只看楼主 加入收藏
qq411037596
Rank: 1
等 级:新手上路
帖 子:3
专家分:9
注 册:2011-6-9
收藏
得分:5 
我只讲主要思路  
m代表小颗粒等分每条边多少份,
m=pow(60000,1.0/3);
接下来是for循环嵌套,还要详细解释吗
2011-06-09 12:14
qq411037596
Rank: 1
等 级:新手上路
帖 子:3
专家分:9
注 册:2011-6-9
收藏
得分:2 
补充一点  本人 不懂材料学 是不是这样的   我是按立方体分成60000个小立方体的思路来的
希望 能对你有帮助
2011-06-09 12:23
xushaofeng
Rank: 2
等 级:论坛游民
帖 子:26
专家分:11
注 册:2011-6-9
收藏
得分:0 
回复 10楼 voidx
图片附件: 游客没有浏览图片的权限,请 登录注册
我截了面心立方体的图,你看看。这是面心立方体的结构,黑点代表颗粒,立方体的边长为1,也就是多个这样的立方体堆砌而成,排列在60*3*30区域内。

[ 本帖最后由 xushaofeng 于 2011-6-9 12:55 编辑 ]
2011-06-09 12:48
xushaofeng
Rank: 2
等 级:论坛游民
帖 子:26
专家分:11
注 册:2011-6-9
收藏
得分:0 
回复 12楼 qq411037596
[local]1[/local]这是面心立方体的结构,黑点代表颗粒,立方体的边长为1,也就是多个这样的立方体堆砌而成,排列在60*3*30区域内,
2011-06-09 12:54
narutosusdo
Rank: 2
等 级:论坛游民
帖 子:45
专家分:25
注 册:2011-5-30
收藏
得分:0 
不懂 拿每日积分
2011-06-09 12:55
xushaofeng
Rank: 2
等 级:论坛游民
帖 子:26
专家分:11
注 册:2011-6-9
收藏
得分:0 
upupup
2011-06-09 15:36
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

看到了吗,如果边长为1,那么这两个原子的距离sqrt(2)/2
实际上用c语言研究这类问题没有意义的

多少恨, 昨夜梦魂中。 还似旧时游上苑, 车如流水马如龙; 花月正春风!
2011-06-09 17:31
xushaofeng
Rank: 2
等 级:论坛游民
帖 子:26
专家分:11
注 册:2011-6-9
收藏
得分:0 
回复 17楼 ouyangouyang
是要让n个这样的面心立方体堆砌而成,然后获得所有颗粒的位置
2011-06-10 10:21
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
思考中

[ 本帖最后由 voidx 于 2011-6-10 13:15 编辑 ]
2011-06-10 12:53
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:10 
由立方体定义知:立方体各边长相等。
由面心立方体性质知:只要确定了面心立方体的边长,就可以确定面心立方体中各点的位置。
结合题意,我们可以得到以下结论:
只要确定了按照面心立方体排列的粒子所形成的面心立方体的边长,就可以确定各粒子的位置。
因此,我们要求的就是面心立方体的边长。
设面心立方体的边长为 x,t = 3.0 / x,由题意可知 t 为整数。

设下图中 |OA| == 3,|OB| == 30,|OC| == 60。+ 表示颗粒,同一线段上两个 + 之间距离为 x。

  B           C
    .      .
    .     .
    .    .
    +   +
    |  /
    + +
    |/
    +--+--+--+--+....
   O                    A

观察可知线段 OA 上共有 t + 1 颗颗粒。
从而可知由线段 OA 与线段 OB 所确定的矩形区域内共有 (t + 1) * (10 * t + 1) 颗颗粒。
进而可知,由线段 OA,线段 OB 与线段 OC 所确定的长方体内共有这样的颗粒 (t + 1) * (10 * t + 1) * (20 * t + 1) 颗。

观察下面由线段 OA 与线段 OB 确定的矩形区域。

  B   
    .         .         .         .
    .         .         .         .
    .         .         .         .
    +---------+---------+---------+...
    |         |         |         |
    |         |         |         |
    |         |         |         |
    +---------+---------+---------+...
    |         |         |         |
    |    +    |    +    |    +    |
    |      D  |         |         |
    +---------+---------+---------+...
  O                                    A

观察可知由线段 OA,线段 OB 与线段 OC 所确定的长方体中有类似点 D 的颗粒 t * (10 * t) * (20 * t) 颗。

由线段 OA 与线段 OC 所确定的矩形区域和由线段 OB 与 线段 OC 所确定的矩形区域与上述相同。
由此可知由线段 OA,线段 OB 与线段 OC 所确定的长方体中共有类似点 D 的颗粒 t * (10 * t) * (20 * t) * 3颗。

因此,填充区域所能包含的颗粒的个数 n_p == (t + 1) * (10 * t + 1) * (20 * t + 1) + t * (10 * t) * (20 * t) * 3。
整理得 n_p == 800 * t^3 + 230 * t^2 + 31 * t + 1。

由题意知,50000 <= n_p <= 60000。
通过穷举知,n_p == 55005,t == 4。
由此可知 x == 4 / 3.0。    // 这里应该是 x == 3.0 / 4。粗心了又
至此,要求得各颗粒的位置就轻而易举了

[ 本帖最后由 voidx 于 2011-6-11 00:02 编辑 ]
2011-06-10 14:28
快速回复:c刚学,求帮助,谢谢
数据加载中...
 
   



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

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