计算机C语言趣味的程序设计题目百例.docx
- 文档编号:13021880
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:61
- 大小:2.01MB
计算机C语言趣味的程序设计题目百例.docx
《计算机C语言趣味的程序设计题目百例.docx》由会员分享,可在线阅读,更多相关《计算机C语言趣味的程序设计题目百例.docx(61页珍藏版)》请在冰点文库上搜索。
计算机C语言趣味的程序设计题目百例
Contest-2011级C语言课程大作业
StartTime:
2012-02-1916:
25:
00EndTime:
2012-03-0122:
00:
00
Public
CurrentTime:
2012-2-2315:
51:
18Status:
Running
ProblemIDTitle
Y1211ProblemA趣味程序设计—狼追兔子
Y1212ProblemB趣味程序设计—巧夺偶数
Y1213ProblemC趣味程序设计—五猴分桃
Y1214ProblemD趣味程序设计—高次方数
Y1215ProblemE趣味程序设计—借书方案
Y1216ProblemF
趣味程序设计—过桥问题
Y1217ProblemG趣味程序设计—数制转换
1218ProblemH
趣味程序设计—打渔晒网
N1219ProblemI
趣味程序设计—喝酒问题
Y1220ProblemJ
趣味程序设计—哥德巴赫猜想
1221ProblemK趣味程序设计—打印日历
Y1222ProblemL
趣味程序设计抓交通肇事
逃逸犯
Y1223ProblemM趣味程序设计—反序数
Y1224ProblemN趣味程序设计—新郎新娘
1225ProblemO趣味程序设计—称重砝码
1226ProblemP趣味程序设计—求车速
Y1227ProblemQ趣味程序设计—谁是窃贼
Y1228ProblemR趣味程序设计—出售金鱼
Y1229ProblemS趣味程序设计—百钱百鸡
Y1230ProblemT趣味程序设计—谜语博士
1231ProblemU趣味程序设计—猜牌术(―)
Y1232ProblemV趣味程序设计一舍罕王的失
算
1233ProblemW趣大程序设计一怎样存钱利
最大
1234ProblemX趣味程序设计—猜牌术
(二)
Y1235ProblemY趣学程序设计一爱因斯坦的
Y1236ProblemZ趣味程序设计—取火柴游戏
1237Problema趣味程序设计—平分鱼和筐Y1238Problemb趣味程序设计—可逆素数
Y1239Problemc
趣味程序设计—三色球问题
Y1240Problemd
趣味程序设计—抢n游戏
写在最前:
本文档中的题目;在不不同的编译器中可能会有提示错误,呵呵,小小的动动手改下变量的
定义就可以运行了..
由于能力不足••有题目未解决的…或者有错误的我会…认真听取大家的••意见的…•呵呵••有一两个…•偷了下懒哦
提供原题目还有本人自己的解答的源代码。
感谢大家的。
。
。
。
建议•
问题A:
趣味程序设计—狼追兔子
时间限制:
1Sec内存限制:
128MB
提交:
341解决:
63
[提交][状态][讨论版]
题目描述
一只兔子躲进了n个环形分布的洞的某一个中。
狼在第一个洞没有找到兔子,就隔一个洞,到第三个洞去找;也没有找到,就隔两个洞,到第六个洞去找。
以后每次多一个洞去找兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中?
输入
有多组测试数据,读取到文件结尾符为止。
每组测试数据输入n(2Wnw100,即洞穴个数。
输入到文件结尾符为止。
输出
兔子可能藏匿的洞。
如果不止一个,按从小到大的顺序输出。
如果不存在,输出空行。
样例输入
10
8
15
样例输出
2479
245789111214
提示
用一个数组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,则兔子可能藏身该洞中。
#include
#include
intok[110];
intmain()
{
intn,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))
{
}else
}printf("\n");
}
return0;
}
问题B:
趣味程序设计—巧夺偶数
时间限制:
1Sec内存限制:
128MB
提交:
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
Gameover!
2
3
1
2
3
1
Gameover!
#include
{
intn,sum=25;
loop:
while(scanf("%d",&n)!
=EOF){
sum-=n;
if(sum==1)
{
printf("1\nGameover!
\n");sum=25;
gotoloop;
if(sum==3||sum==2)
{
sum--;
}else
{
if(sum<=0)
{
printf("Gameover!
'n");sum=25;
gotoloop;
}
else
{
printf("%d\n",4-n);
if(n==1)
sum-=3;
if(n==2)
sum-=2;
if(n==3)
sum-=1;
}
}}return0;
问题C:
趣味程序设计—五猴分桃
时间限制:
1Sec内存限制:
128MB
提交:
186解决:
102
[提交][状态][讨论版]
题目描述
5只猴子一起摘了1堆桃子。
因为太累了,它们商量决定,先睡一觉再分。
过了不知多久,
1只猴子来了。
它见别的猴子没来,便将这1堆桃子平均分成5份,结果多了1个,就将多的这个吃了,拿走其中的1堆。
又过了不知多久,第2只猴子来了。
它不知道有1个同伴已经来过,还以为自己是第1个到的呢。
于是将地上的桃子堆起来,平均分成5份,发现也多了1个,同样吃了这1个,拿走其中的1堆。
第3只、第4只、第5只猴子都是这样……问这5只猴子至少摘了多少个桃子?
第5个猴子走后还剩下多少个桃子?
输入
无
输出
输出5只猴子至少摘了多少个桃子,第5个猴子走后还剩下多少个桃子。
中间用空格隔开。
样例输入
样例输出
31211020
提示
思路一:
分”
假设至少摘了first_num个桃子,则令first_num=6,7,8,9,10,•…这样不断
的试,如果那个数能按规则(first_num=(first_num-1)/5*4)被5只猴子顺利的吃1个并分5
组,则为所求。
思路二:
凑”—假设最后剩下last_num个桃子,则令last_num=
last_num%4==0贝Vlast_num=
4,5,6,7,8,9,10,这样不断的试,如果那个数能按规则(
last_num/4*5+1)凑5次,则为所求。
#include
#include
{
intfirst,i,t;
for(i=1;i<5000;i+=5)
{
first=i;
for(t=1;t<=5;t++)
{
if(first%5==1)
{first=(first-1)/5*4;
if(t==5)
}else
break;
}
}
//printf("time:
%.2lf\n",(double)clock()/CLOCKS_PER_SEC);
return0;
}
问题D:
趣味程序设计—高次方数
时间限制:
1Sec内存限制:
128MB
提交:
559解决:
80
[提交][状态][讨论版]
题目描述
求13的n次方(12 例如: 13的13次方的最后三位数是253,13的20次方的最后三位数是801。 输入 有多组测试数据,每组测试数据一行,即整数n。 以文件结尾符结束。 输出 输出13的n次方的最后三位数 样例输入 13 20 样例输出 253 801 提示 64位整型用longlong表示,格式串为"%lld" #include intfun(Ionglongn) { intk=13,t=1; while(n>0){ if(n%2==1) t=t*k%1000;k=k*k%1000; n>>=1; } returnt; } intmain() { longlongn; while(scanf("%lld",&n)! =EOF) printf("%03d\n",fun(n)); return0; } 问题E: 趣味程序设计—借书方案 时间限制: 1Sec内存限制: 128MB 提交: 429解决: 154 [提交][状态][讨论版] 题目描述 小明有n本新书,要借给A、B、C三位小朋友。 只借一次。 若每人每次只能借一本,则可以有多少种不同的借法? 输入 有多组测试数据,输入整数n(5 输出 借法总数。 样例输入 5 6 7 8 样例输出 60 120 210 336 #include intmain() { longlongn; while(scanf("%lld",&n)! =EOF) printf("%lld\n",n*(n-1)*(n-2));return0; } 问题F: 趣味程序设计—过桥问题 时间限制: 1Sec内存限制: 128MB 提交: 102解决: 19 [提交][状态][讨论版] 题目描述 过桥问题。 有N(N》2)个人在晚上需要从X地到达丫地,中间要过一座桥,过桥需要手电筒(而他们只有1个手电筒),每次最多两个人一起过桥(否则桥会垮)。 N个人的过桥时间依次存入数 组t[N]中,分别为: t[0],t[1],……,t[N-1]。 过桥的速度以慢的人为准! 注意: 手电筒不 能丢过桥! 问题是: 编程求这N个人过桥所花的最短时间。 输入 有多组测试数据, 每组数据先输入一个人数N,然后输入这N个人过桥所花的时间。 输出 输出对应的最短时间。 样例输入 412510 452101 样例输出 17 17 #include voidfun(int*a,intn) { inti,j,t,k; for(i=0;i { k=i; for(j=i+1;j {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 语言 趣味 程序设计 题目