程序设计竞赛基础实训

上传人:工**** 文档编号:487536036 上传时间:2024-03-12 格式:DOC 页数:11 大小:159.50KB
返回 下载 相关 举报
程序设计竞赛基础实训_第1页
第1页 / 共11页
程序设计竞赛基础实训_第2页
第2页 / 共11页
程序设计竞赛基础实训_第3页
第3页 / 共11页
程序设计竞赛基础实训_第4页
第4页 / 共11页
程序设计竞赛基础实训_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《程序设计竞赛基础实训》由会员分享,可在线阅读,更多相关《程序设计竞赛基础实训(11页珍藏版)》请在金锄头文库上搜索。

1、2012程序设计竞赛基础实训8239 台球碰撞在平面直角坐标系下,台球桌是一个左下角在(0,0),右上角在(L,W的矩形。有一个球心在(X, y),半径为R的圆形母球放在台球桌上(整个球都在台 球桌内)。受撞击后,球沿极角为 b的射线(即:x正半轴逆时针旋转到此射 线的角度为b)以初速度v飞出。因球与桌面的磨擦,球作的加速度为a的匀减速率运动,每次碰到球桌边框时均发生完全弹性碰撞(反射角等于入射 角)。原题:在平面直角坐标系下,台球桌是一个左下角在(0,0),右上角在(L, V)的矩形。有一个球心在(x, y),半径为R的圆形母球放在台球桌上(整个球都在台 球桌内)。受撞击后,球沿极角为a的射

2、线(即:x正半轴逆时针旋转到此射线的角度为a)飞出,每次碰到球桌时均发生完全弹性碰撞(球的速率不变, 反射角等于入射角)。 (OQ(厶如果球的速率为V, s个时间单位之后球心在什么地方?输入输入文件最多包含 25组测试数据,每个数据仅一行,包含8个正整数L, vyx, y, R a, v, s ( 100=L, W=105, 1v=Rv=5, R=x=L- R, R=y=VZR, 0=a360, 1= v, s=105),含义见题目描述。 L=W=x=y=R=a=v=s=0 表示输入结 束,你的程序不应当处理这一行。输出对于每组数据,输出仅一行,包含 两个实数x, y,表明球心 坐标为 (x,

3、 y)。x和y应四舍五入保留两位小数。样例输入样例输出100 100 80 10 5 90 2 2380.00 56.00110 100 70 10 5 180 1 999971.00 10.000 0 0 0 0 0 0 0设计要点:(1) 确定球心区域设球心座标为(x,y),则有球心矩形区域:x1 xx2,y1 y y2其中:x仁r,x2=l-r 。y仁r,y2=w-r(2) 没撞击时球位置设开始时球心位于(x0,y0 ),球沿极角为a的射线射出,球的速率为 v,s 个时间单位之后球心在(x,y):x=x0+v*s*cos(a*3.14159/180) y=yO+v*s*si n(a*3.

4、14159/180)(3) 撞击轴对称若球与右竖边(x2)撞击,撞击后横月座标为:x=2*x2-x 若球与上横边(y2)撞击,撞击后纵月座标为:y=2*y2-y 程序设计: / 台球碰撞 #include #include void main() double l,w,r,a,v,s,x,y,x1,x2,y1,y2 。 printf( 请 确 定 球 台 边 框 (l,w): ) 。 scanf(%lf,%lf,&l,&w) 。printf( 请确定球心开始位置 (x,y): ) 。 scanf(%lf,%lf,&x,&y) 。printf( 请确定球半径 r: ) 。 scanf(%lf,&

5、r) 。 printf(请确定射击角度 a: ) 。 scanf(%lf,&a) 。printf(请确定射击速度 v: ) 。 scanf(%lf,&v) 。printf( 请确定时间 s: ) 。 scanf(%lf,&s) 。 x1=r 。 x2=l-r 。 y1=r 。 y2=w-r 。x=x+v*s*cos(a*3.1415926/180) 。 y=y+v*s*sin(a*3.1415926/180) 。 while(xx2 | yy2) if(xx2) x=2*x2-x。if(xy2) y=2*y2-y。if(yy1) y=2*y1-y。printf( 所求位置为 :(%.2f,%.

6、2f).n,x,y) 。请确定球台边框 (l,w): 130,110 请确定球心开始位置 (x,y): 30,40 请确定球半径 r: 5 请确定射击角度 a: 30 请确定射击速度 v: 20 请确定时间 s: 20 所求位置为 :(113.59,40.00).引申:在平面直角坐标系下,台球桌是一个左下角在 (0,0) ,右上角在 (L, W) 的矩形。有一个球心在 (x, y) ,半径为 r 的圆形母球放在台球桌上(整个球都 在台球桌内)。受撞击后,球沿极角为 b 的射线(即:与正半轴逆时针旋转到 此射线的角度为b)以初速度v飞出。因球与桌面的磨擦,球作的加速度为a的匀减速率运动,每次碰到

7、球桌边框时均发生完全弹性碰撞(反射角等于入射 角)。试求球停止时球心所在位置。解:球作的初速度为vO,加速度为a的匀减速率运动,设t时刻球的速度为 vt, 则vt=v0-a*t 停止时 vt=0, 则运行时间为: t=v0/a 球运行距离为 s=v0*t-a*t*t/2=v0*v0/2/a / 台球碰撞 #include #include void main() double l,w,r,a,b,v,s,x,y,x1,x2,y1,y2 。printf( 请确定球台边框 (l,w): ) 。 scanf(%lf,%lf,&l,&w) 。 printf( 请 确 定 球 心 开 始 位 置 (x,

8、y): ) scanf(%lf,%lf,&x,&y) 。printf( 请确定球半径 r: ) 。 scanf(%lf,&r) 。 printf( 请确定射击角度 b: ) 。 scanf(%lf,&b) 。 printf( 请确定射击初速度 v: ) 。 scanf(%lf,&v) 。 printf( 请确定匀减速的加速度 a: ) 。 scanf(%lf,&a) 。 x1=r。x2=l-r。y 仁r。y2=w-r。s= v*v/2/a 。 x=x+s*cos(b*3.1415926/180)。y=y+s*sin(b*3.1415926/180)。while(xx2 | yy2) if(xx

9、2) x=2*x2-x。if(xy2) y=2*y2-y。if(y1),求出其平方数s; 计算a的位数w,同时计算b=10Aw, a的平方s的尾部c=s%b 比较a,c,若a=c则输出守形数。( 2 ) 程序实现/求x,y内的守形数#includevoid main()long int a,b,c,k,s,x,y。printf(求区间 x,y 中的守形数 .) 。printf(请输入整数 x,y:) 。scanf(%ld,%ld,&x,&y)。for(a=x 。 a0)b=b*10。 k=k/10 。 c=s%b 。/ c为 a 的平方数 s 的尾部if(a=c)printf(%ldA2=%l

10、d n,a,s)。( 3 ) 程序运行结果求区间x,y中的守形数.请输入整数x,y:10,1000025A2=62576A2=5776376A2=141376625A2=3906259376A2=879093762. 探索 n 位守形数( 1) 求解要点为了求更多位数的守形数,可应用守形数的性质:一个 m 位守形数的尾部 m-1 位数也是一个守形数。道理很简单,a是一个m位数,a的平方数尾部的m-1位仅由a的尾部m-1 位决定而与 a 的其他位无关。实施易知一位守形数有三个: 1,5,6 。则二位守形数的个位数字只可能是1,5,6 这三个数字。根据这一思路,我们可应用递推求出多位守形数。( 2

11、) 程序设计/ 求 n 位守形数#includevoid main() int n,d,k,j,i,t,m,w,z,u,v,a500,b500,c500printf(n=) 。 scanf(%d,&n) 。d=9。 d+)k=500。 k+)。 bk=0for(d=1 。for(k=1ak=0a1=d 。for(k=2for(j=0ak=jfor(i=1for(i=1。 ck=0 。 /k=n。 k+) j=9 。 j+)。 v=0。 i=k。 i=kfor(z=0,t=1u=ai*at+zbi+t-1=u%10for(w=0,m=iu=cm+bm+ww=u/10i+) ci=0 i+) t=

12、kt+)z=u/10/。m=k m+)ocm=u%10。/给个位数赋值探索 a(k)计算平方。i=1。 k-) printf(%d,ak)。printf(n) 。3) 程序运行示例运行程序, 输入n=30,得30位守形数5 结尾的 30守形数: 10661997739225625996 结尾的 30守形数: 89338002260774374008178710937641 奇数序列运算式在由指定相连奇数 组成的序列的每相邻两项中插入运算符号:若相邻两项都是合数,则两项中插入“ - ”号; 若相邻两项一项合数一项素数,则两项中插入“ +”号; 若相邻两项都是素数,则两项中插入乘号“ * ”号; 输入奇数 b,c(bc) ,完成 b,c 中奇数序列的运算式,并计算该式的运算 结果。例如 b=31,c=45, 完成运算式为: 31+33-35+37+39+41*43+45=1913 测试数据:(1) b=3,c=51(2) b=2011,c=2029/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号