高级编程技术实验指导书.doc
文本预览下载声明
高级编程技术实验指导书
信息工程学院计算机系
目 录
实验一 简单计算问题 3
1、数字求和 3
2、两倍 3
3、Number Sequence 4
4、肿瘤检测 4
5、填词 5
6、垂直直方图 6
7、谁拿了最多奖学金 6
8、简单密码 7
9、化验诊断 8
10、密码 9
实验二 进制、日期及转换问题 10
1、十进制到八进制 10
2、八进制到十进制 11
3、电话号码 11
4、字符串判等 12
5、All in All 13
6、不吉利日期 13
7、循环数 14
8、计算2的N次方 15
9、拼装模型 15
10、摘花生 16
实验三 大数、枚举问题 17
1、数字三角形 17
2、数字三角形最大路径 18
3、大整数加法 18
4、大整数乘法 19
5、大整数除法 19
6、菲波那契数列 20
7、最小数 20
8、求大整数的阶乘 21
9、赋值问题 21
实验四 基础算法问题 22
1、Red and Black 22
2、放苹果 23
3、迷宫 24
4、八皇后问题 25
实验一 简单计算问题
1、数字求和
Description给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少?
Input输入一行,只包括6个小于100的正整数,其中第一个正整数就是a。
Output输出一行,给出一个正整数,是5个数中小于a的数的和。
Sample Input
10 1 2 3 4 11
Sample Output
10
2、两倍
Description给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。 比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。
Input输入包括多组测试数据。每组数据包括一行,给出2到15个两两不同且小于100的正整数。每一行最后一个数是0,表示这一行的结束后,这个数不属于那2到15个给定的正整数。输入的最后一行只包括一个整数-1,这行表示输入数据的结束,不用进行处理。
Output对每组输入数据,输出一行,给出有多少个数对满足其中一个数是另一个数的两倍。
Sample Input
1 4 3 2 9 7 18 22 0
2 4 8 10 0
7 5 11 13 1 3 0
-1
Sample Output
3
2
0
3、Number Sequence
Problem Description
A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.Given A, B, and n, you are to calculate the value of f(n).
Input
The input consists of multiple test cases. Each test case contains 3 integers A, B and n on a single line (1 = A, B = 1000, 1 = n = 100,000,000). Three zeros signal the end of input and this test case is not to be processed.
Output
For each test case, print the value of f(n) on a single line.
Sample Input
1 1 3
1 2 10
0 0 0
Sample Output
2
5
4、肿瘤检测
Description一张CT扫描的灰度图像可以用一个N*N(0N100)的矩阵描述,矩阵上的每个点对应一个灰度值(整数),其取值范围是0-255。我们假设给定的图像中有且只有一个肿瘤。在图上监测肿瘤的方法如下:如果某个点对应的灰度值小于等于50,则这个点在肿瘤上,否则不在肿瘤上。我们把在肿瘤上的点的数目加起来,就得到了肿瘤在图上的面积。任何在肿瘤上的点,如果它是图像的边界或者它的上下左右四个相邻点中至少有一个是非肿瘤上的点,则该点称为肿瘤的边界点。肿瘤的边界点的个数称为肿瘤的周长。现在给定一个图像,要求计算其中的肿瘤的面积和周长。
Input输入第一行包含一个正整数N(0N100),表示图像的大小;接下来N行,每行包含图像的一行。图像的一行用N个整数表示(所有整数大于等于0,小于等于255),两个整数之间用一个空格隔开。
Output输出只有一行,该行包含两个正整数,分别为给定图像中肿瘤的面积和周
显示全部