- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构--实验报告.doc
数据结构实验报告
专 业:
班 级:
学生姓名:
学 号:
指导教师:
实验地点:
实验时间:
实验成绩:
一、实验内容、步骤与结果分析
1 实验1
1.1 实验内容
数族婚姻
Description
早在很古老的时代,数字便成为了一个庞大的家族。大家所熟知的素数和回文数便是这个家族中非常有威望的两个子族。在“强强联合”思想的作用下,大家都盼望着素族的子民能和回文族的子民联姻,那样他们的后代更勇敢,聪慧能够带领数族更好的发展。在数族,还存在老族长这样的两个规定: 1.结婚双方必须在法定结婚年龄类,例如法定结婚年龄是(12,100),那么只有年龄在12岁以上(包含12)100岁以下(包含100)的子民才可以结婚。法定结婚年龄有当代族长规定。 2.结婚双方年龄越相近越好,他们很排斥“老夫少妻”的思想。正因为有这样一些规定,数族族长的大部分时间都花在了寻找最适合结婚的素族人和回文人上。现在老族长请你帮他编写一个程序,他只需要输入法定结婚年龄,你的程序便会自动帮他把最适合结婚的素族人和回文人找出来。?
Input
每行两个整数M,N,其中M=N,M和N都小于10000。最后输入0表示结束。?
Output
每行两个数a,b,a为素数,b为回文数。如果有多组满足条件请按a的大小从小到大输出,在a相等的条件下按b的大小从小到大输出。每组之间一个空格。?
Example Input
10 30?
0
Example Output
11 11
1.2 主要步骤
1.2.1 问题分析与算法思路
采用数组存储来实现功能。
一个数组存储给定区间内的素数。
一个数组存储给定区间内的回文数。
同一区间内回文数的个数更少,针对每一个回文数遍历所有素数求得与该回文数最小的差值,存入一个数组中,则该数组的元素个数与回文数组一样多。
求出差值数组中的最小值,并将该数组中与最小值相等的数据下标存入一个数组中,利用数组中的下标可以直接在回文数组中找到符合要求输出的回文数,再根据该回文数和差值找到符合要求输出的素数,至此,程序要求输出的素数和回文数对即可求得。
1.2.2 算法描述
类型说明及子函数定义;
判断回文数的函数check()
for (j=0; jstrlen(str); j++)
if (str[j] != str[strlen(str)-j-1]) 不是回文数
否则是回文数
void main()
{
int c[N],d[N],e[N],f[M];
判断素数的算法;
c[N]中存入素数的算法;
d[N]中存入回文数的算法;
e[N]中存入对应差值的算法;
f[N]中存入对应差值最小的数的下表的算法;
printf();
}
1.2.3 程序实现
#include stdio.h
#include string.h
#include math.h
#define N 10000
#define M 50
int check(int num)
{
char str[5];
int j;
sprintf(str,%d,num);
for (j=0; jstrlen(str); j++)
if (str[j] != str[strlen(str)-j-1])
return 0;
return 1;
}
void main()
{
int a,b,u,i,r,n,k,h,min;
int m=0,q=0,t=0,p=0;
int flag=1;
int c[N],d[N],e[N],f[M];
scanf(%d %d,a,b);
scanf(%d,u);
if(u==0)
{
for (i=a;i=b;i++)
{
flag=1;
for (n=2;ni;n++)
{
if (i%n==0)
{
flag=0;
}
}
if ((flag==1)(i!=1))
{
c[m]=i;
m++;
}
}
for (i=a;i=b;i++)
{
if (check(i))
{
d[q]=i;
q++;
}
}
for(r=
文档评论(0)