作者tcc740sd (不要问)
看板C_and_CPP
标题[问题] 如何算出一个圆内的整点坐标?
时间Mon Jun 8 07:43:54 2009
小弟不是来求解的 只是请问版友要用哪种方式写比较好?
关於题目只能用这些方式: if, if…else, do, for, switch, do…while
(我也只学这些方式...)
我想的可能写出来的方式只有用 for !?
有关奇怪的印度题目是这样的
--
x^+y^=r^ represents the equation of circle with center at the origin (0,0)
and radius r. Write a program that reads radius (r) from the key board and
prints the number of points with integer coordinates that lie within the
circle.
--
yahoo字典怪翻译
---
x^+y^=r^用中心代表圈子的等式在起源(0,0),并且半径r.写读从键盘的半径(r)的节目并
且打印点的数量与在圈子之间的整数座标的。
--
(x^ = x^2 ? 有点忘了....." ^ " 是不是直接等於平方...)
意思大概就是 输入 (x,y) 然後会有一个圆 求圆内有几个"整点坐标"
(整体意思是这样没错? 我看不太懂英文....)
例如: 我(x,y)输入1,1 共有这些坐标: (0,1) (1,0) (0,0),(0,-1)(-1,-1).....
cout圆内整点坐标的数量
小弟不知从何下手 目前用for写看看
(第一次看PASCAL还能看得出些端倪 这次第一次看到不知从何下手的题目)
不过我以前数学真的很差阿...圆的基本原理要问同学
请问有比for更好的写法吗?! (?o?)
--
为什麽您要这麽着急呢?
http://www.wretch.cc/blog/s9021413
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.229.220.155
※ 编辑: tcc740sd 来自: 61.229.220.155 (06/08 07:45)
1F:推 POSIX:对你而言 这应该是数学问题 06/08 07:47
2F:→ POSIX:你能以数学理解出来 自然就能以程式想法解出 06/08 07:47
3F:→ lytn:这题1点也没你上次那题++怪 06/08 07:50
4F:→ lytn:for(x=0 to +r){ { for(y= 0 to +r ) } } ,额外加上x,y轴对称 06/08 07:51
5F:推 lytn:真的想顺便练数学的话,可以再加考虑45度 135度 对称轴. 06/08 08:00
6F:推 zlw:^是用来表达次方,如x^2代表x平方。另外这题方程式是平方没错 06/08 08:02
7F:→ lytn:还有 题目好像只考虑输入r 而已,不是输入x y . 06/08 08:06
8F:→ tcc740sd:是喔!!!! @@ 我英文不太好 只大概知道要画个圆来求 06/08 08:09
9F:→ tcc740sd:++那题是印度人的题目怪 然後我就突然冒出那问题了... 06/08 08:09
10F:→ tcc740sd:谢谢各位好心的版友~看来是我数学烂的问题 ( ̄□ ̄|||)a 06/08 08:11
11F:推 zlw:只是要求数量不用画圆,列出座标范围。用回圈跑所有座标跑一轮 06/08 08:21
12F:→ zlw:每次拿到座标,就跟(0,0)用直线距离公式求是否<=半径来判断 06/08 08:22
13F:→ tcc740sd:喔喔喔!!! 谢谢楼上 06/08 08:46
14F:推 varg:他给的input是r不是x y... 06/08 09:15
15F:→ netsphere:这不就是 ACM 356 Square Pegs And Round Holes 06/08 10:52
16F:→ netsphere:我也是用楼楼上说的方法 06/08 10:53
17F:→ lytn:用到对衬轴只是可以减少平方的计算量, 06/08 11:07
18F:推 ledia:不是应该用水平(或垂直)线求截点, 直接头减尾算点数就好了? 06/08 11:28
19F:→ ledia:一个一个加太慢了吧 @@ 06/08 11:29
20F:→ ledia:不然 r=1000000 不就算到睡着了 囧 06/08 11:29
21F:→ lytn:Good!! 看来我数学也不好.. 06/08 11:35
22F:→ MOONRAKER:现在机器这麽快 其实可以大胆使用蒙地卡罗法 |D 06/08 11:49
23F:推 chrisdar:半径R 是浮点数还是整数 06/08 12:12
25F:推 ledia:蒙地卡罗其实我以前有想过... XD 但是精确度难确保 06/08 14:26
26F:推 ledia:那个 sequences 的很帅 XD 不过只有到 1000 06/08 14:31
27F:→ MOONRAKER:我承认蒙地卡罗法是来乱的 XDDDDDDDDD 06/08 16:43