文档详情

复试C语言常考趣味程序设计.doc

发布:2017-04-14约2.2万字共36页下载文档
文本预览下载声明
狼追兔子 1 巧夺偶数 2 五猴分桃 3 高次方数 4 借书方案 5 过桥问题 6 数制转换 7 打渔晒网 8 喝酒问题 9 哥德巴赫猜想 10 打印日历 11 抓交通肇事逃逸犯 12 反序数 13 新郎新娘 14 称重砝码 15 求车速 16 谁是窃贼 17 出售金鱼 18 百钱百鸡 19 谜语博士 20 猜牌术(-) 21 舍罕王的失算 22 怎样存钱利最大 23 猜牌术(二) 24 爱因斯坦的数学题 25 取火柴游戏 26 平分鱼和筐 27 可逆素数 28 三色球问题 29 抢n游戏 30 问题 A: 趣味程序设计_狼追兔子 时间限制: 1 Sec??内存限制: 128 MB 提交: 341??解决: 63 [提交][状态][讨论版] 题目描述 一只兔子躲进了n个环形分布的洞的某一个中。狼在第一个洞没有找到兔子,就隔一个洞,到第三个洞去找;也没有找到,就隔两个洞,到第六个洞去找。以后每次多一个洞去找兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中? 输入 有多组测试数据,读取到文件结尾符为止。每组测试数据输入n(2≤n≤100),即洞穴个数。输入到文件结尾符为止。 输出 兔子可能藏匿的洞。如果不止一个,按从小到大的顺序输出。如果不存在,输出空行。 样例输入 10 8 15 样例输出 2 4 7 9 2 4 5 7 8 9 11 12 14 提示 用一个数组a[10],对应的元素a[0],a[1],a[2]……a[9]对应表示10个洞,初值均置1。通过一个循环用“穷举法”找兔子,第n次查找对应第(n-1)%10个洞,如果在第(n-1)%10个洞中没有找到兔子,因此将数组元素a[(n-1)%10]置0值。循环完成后,检查a数组各元素(各个洞)的值,若其值仍为1,则兔子可能藏身该洞中。 #includestdio.h #includestring.h int ok[110]; int main() { ????int n,s,i,find; ????while(scanf(%d,n)!=EOF) ????{ ????????memset(ok,0,sizeof(ok)); ????????for(i=1;i=200;i++) ????????????if(!ok[find=(i*(i+1)/2)%n]) ????????????????if(find==0) ????????????????????ok[n]=1; ????????????????else ????????????????????ok[find]=1; ????????for(s=0,i=1;i=n;i++) ????????????s+=ok[i]; ????????for(i=1,find=0;i=n;i++) ????????????if(!ok[i]) ????????????{ ????????????????if(find!=(n-s-1)) ????????????????{ ????????????????????printf(%d ,i);find++; ????????????????} ????????????????else ????????????????????printf(%d,i); ????????????} ????????printf(\n); ????} ????return 0; } 问题 B: 趣味程序设计_巧夺偶数 时间限制: 1 Sec??内存限制: 128 MB 提交: 174??解决: 73 [提交][状态][讨论版] 题目描述 桌子上有25颗棋子。游戏双方轮流取子,每人每次最少取走一颗棋子,最多可取走3颗棋子。双方照这样取下去,直到取光所有的棋子。于是双方手中必然一方为偶数,一方为奇数,偶数方为胜者。请编程实现人机游戏。人先走,计算机后走。若游戏结束,则输出“Game over!”。 输入 输入人取走棋子的个数。输入一次,按一次回车。游戏不止一轮。按下文件结尾符,退出游戏。必须在完成一轮后退出游戏。不得中途退出游戏。 输出 输出计算机取走的个数,每次输出最优解。 样例输入 1 1 1 1 1 1 1 2 1 3 2 1 3 1 样例输出 3 3 3 3 3 3 Game over! 2 3 1 2 3 1 Game over! #includestdio.h int main() { ????int n,sum=25; ????loop: ????while(scanf(%d,
显示全部
相似文档