|
当前位置:电脑报电子版 > 1999 年 > 36 期 > 软件世界 > 9908请你编程 |
《 9908请你编程 》 |
大家好!《请你编程》又与你们见面了。本栏目得到了广大朋友的关心和支持,我在这里表示衷心的感谢。《请你编程》是一个读者朋友直接参与的栏目,是一个体现自我的园地,希望有编程愿望的朋友,无论是编程高手,还是初学者都能参与进来,我们将会认真对待每一份作品。下面请看本期山东读者刘文臣的程序。
9908请你编程解题思路 本程序采用静态链表来实现。首先定义一个较大的数组,数组中每个元素(站点)由两部分组成,一部分是每个人的编号,另一部分是“指针”,用整型数据表示下一个人所在数组中的下标。程序采用穷尽搜索法,C从2开始,若M号(萧峰)出列,则C值增大1,再行判断,直到找出C值为止。主要算法如下: 1.循环读取Love.txt中数为M、N赋值; 2.若萧峰为最后一名(M=N)则C值为1,输出来并转向1;否则转入下一步; 3.循环求C值,C从2开始,步步增大。若M能被C整除,M号必出列,故先确定C从2开始且不能被M整除的数; 4.静态链表初始化,即将N个人围成一圈,然后又进入一循环,数数退圈,若中途退出萧峰则退出循环,C值增加,转到3处,若留下萧峰,则打印C值,退出3的循环转至1处。 源程序 #include <stdio.h> #define MAX 1500 typedef struct {int num; int next; }circle; circle A[MAX];/*定义一个较大的数组*/ int M,N; main() { int c,i,count; circle *p,*q; FILE *fp; if((fp=fopen(″love.txt″,″r″))==NULL) {printf(″\nCan't open file love.txt!″); exit(0);} fscanf(fp,″%d%d″,&N,&M); for(;M!=0&&N!=0;fscanf(fp,″%d%d″,&N,&M)) if(M==N){c=1;printf(″\n%d″,c);continue;}/*萧峰在最后,c值为1*/ else for(c=2;;c++) { while(M%c==0) c++;/*M值首先不能被c所整除*/ <N;i++)/*静态链表初始化,使N个人围成一圈*/> for(i=1;ibr> {A[i-1].num=i;A[i-1].next=i;} A[i-1].num=i;A[i-1].next=0;/*最后一个人指向第一个人,第一个人下标为0*/ p=A;count=0;i=1; <N-1)/*只要还没剩下最后一个人,则循环*/> while(countbr> {if(i= =c-1)/*数到c-1时,便删除下一个人*/ {q=A+p->next; if(q->num==M) break;/*若是萧峰出列,则退出循环,c值增加,重新测试*/ else{p->next=q->next;i=0;count++;} } p=A+p->next; i++; } if(count= =N-1){printf(″\n%d″,c);break;}/ 萧峰没有退出,则打印出c值,读M,N值*/ } fclose(fp); } 9910请你编程题目 在埃及,考古学家又发现了一座金字塔。这座金字塔的结构是这样的:从它的纵截面看,金字塔分成好多小房间:(如图所示)自上往下,自左往右,每个小房间都有一个唯一的编号。而据一个古老的传说:在这个金字塔的几个房间里,存放着一批金银珠宝。但是,这些房间的安排是有规律的:以这些房间为顶点,可以构成一个正三角形或者平行四边形或正六边形。例如:房间1、2、3可以构成一个正三角形,所以它们可能是藏宝地点。而房间1、2、3、4不能构成任何正三角形或者平行四边形或正六边形,所以它们不可能是藏宝地点。考古学家手上已经有好几组关于藏宝地点的数据。现在就请你编一个程序,帮考古学家算算看,哪些是假的,哪些可能是真的。 输入数据文件为pyramid.txt,具体格式为:第一行为一个整数N,表示有N组输入数据。以下为N行,每行包括最多6个整数,表示一组藏宝地点的数据(这些整数之间用空格分开,而且最大为32767)。输出到屏幕上去的结果为N行,每行为一个单词“TRUE”或“FALSE”,表示这组数据是否可能为正确的藏宝地点。 输入范例: 3 1 2 3 1 2 3 4 5 4 13 9 12 7 输出范例: TRUE FALSE TRUE 本期题目由上海的oldbug提供。 本期获奖者名单 邢 践(辽宁) 胡立军(黑龙江) 叶立超(北京) 梁远海(福建) 刘晓锋(重庆) 石万元(重庆) 王良春(福建) 龚 超(湖南) 林基峰(福建) 马拥军(浙江) 每位获奖者将获得苦丁香公司提供的光盘一张。 |
下载本期推荐软件 | 页 首 |
《电脑报》版权所有,电脑报网站编辑部设计制作发布 |