计算机解题报告,计算机题目33题(附带题解)精选.doc

第1~10题为基础题,第11~20题为提高题,第21~33为综合题

每位同学分别从基础题、提高题、综合题中各选一题,按学号顺序循环选择,用word写报告。每班评出优秀的9名同学,上台做报告,每人期末成绩额外加5分。请每班自己定出评分标准。

占总分的15%

基础题:

【1 Prime Frequency】

【问题描述】

0-9, A-Z 以及 a-z)的字符串,请您计算频率(字符出现的次数),并仅报告哪些字符的频率是素数。

输入:

输入的第一行给出一个整数T ( 0

输出:

对输入的每个测试用例输出一行,给出一个输出序列号,然后给出在输入的字符串中频率是素数的字符。这些字符按字母升序排列。所谓“字母升序”意谓按ASCII 值升序排列。如果没有字符的频率是素数,输出“empty”(没有引号)。

样例输入样例输出3

ABCC

AABBBBDDDDD

ABCDFFFFCase 1: C

Case 2: AD

Case 3: empty注:

试题来源:Bangladesh National Computer Programming Contest

在线测试:UVA 10789

提示

先离线计算出[2‥2200]的素数筛u[]。然后每输入一个测试串,以ASCLL码为下标统计各字符的频率p[],并按照ASCLL码递增的顺序(0≤i≤299)输出频率为素数的字符(即u[p[i]]=1且ASCLL码值为i的字符)。若没有频率为素数的字符,则输出失败信息。

【2 Twin Primes】

【问题描述】

双素数(Twin Primes)是形式为(p, p+2),术语“双素数”由Paul St?ckel (1892-1919)给出,前几个双素数是(3, 5), (5, 7), (11, 13), (17, 19), (29, 31), (41, 43)。在本题中请你给出第S对双素数,其中S 是输入中给出的整数。

输入:

输入小于10001行,每行给出一个整数S (1≤ S≤ 100000),表示双素数对的序列编号。输入以EOF结束。

输出:

对于输入的每一行,输出一行,给出第S对双素数。输出对的形式为(p1,空格p2),其中“空格”是空格字符(ASCII 32)。本题设定第100000对的素数小

样例输入样例输出1

2

3

4(3, 5)

(5, 7)

(11, 13)

(17, 19)注:

试题来源:Regionals Warmup Contest 2002, Venue: Southeast University, Dhaka, Bangladesh

在线测试:UVA 10394

提示

设双素数对序列为ans[]。其中ans[i]存储第i对双素数的较小素数(1≤i≤num)。ans[]的计算方法如下:

使用筛选法计算出[2的素数筛u[];

按递增顺序枚举该区间的每个整数i:若i和i+2为双素数对(u[i]&&u[i+2]),则双素数对序列增加一个元素(ans[++num]=i)。

在离线计算出ans[]的基础上,每输入一个编号s,则代表的双素数对为(ans[s],ans[s]+2)。

【3 Less Prime】

【问题描述】

n为一个整数,100≤n≤10000,请找到素数x,x ≤ n,使得n-p*x最大,其中 p是整数,使得p*x≤n

输入:

输入的第一行给出一个整数M,表示测试用例的个数。每个测试用例一行,给出一个整数N,100≤N≤10000。

输出:

对每个测试用例,输出一行,给出满足上述条件的素数。

样例输入样例输出5

4399

614

8201

101

70482203

311

4111

53

3527注:

试题来源:III Local Contest in Murcia 2005

在线测试:UVA 10852

提示

要使得n-p*x最大(x为素数,p为整数,p*x ≤ n

先离线计算出[2‥11111]的素数表su[],表长为num。然后每输入一个整数n,则枚举小于n的所有素数,计算tmp=,满足条件的素数即为对应tmp=n%su[k]的素数su[k]。

【4 Prime Words】

【问题描述】

1, 2, 3, 5, 17, 101和10007是素数。

本题输入一个单词集合,每个单词由a-z以及A-Z的字母组成。每个字母对应一个特定的值,字母a对应1,字母b对应2,以此类推,字母z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值