acm编程比赛入门题目集 联系客服

发布时间 : 星期二 文章acm编程比赛入门题目集更新完毕开始阅读b27e34f7770bf78a65295463

H数

timelimit:1 seconds memlimit:32768 K Prev |Next

【问题描述】

让我们来做做David Hilbert的一个练习题.

定义H数为4的正整数倍加1,比如: 1, 5, 9, 13, 17, 21, 25... 都是H数.可以证明两个H数相乘结果还是H数.类似于整数,我们也可以把H数分为1, H素数和H合数.一个H数为H素数,当且仅当,它除了1和自己之外,没有其他的H数整除它.除了1和H素数外,其他的H数都是H合数.比如9是H素数,因为除了1和9之外没有其他的H数整除9; 17和21也是H素数; 45是H合数,45=5×9,25也是H合数,因为 25=5×5.

你的任务是计算H半素数的个数. 一个H数是H半素数,当且仅当,它能分解成两个H素数的乘积.

这两个H素数可以是同一个数.比如25是H半素数,25=5×5。45也是H半素数, 45 = 5×9,而125不是H半

素数,125 = 5 × 5 × 5,它可以分解成3个H素数的乘积. 给你一个H数n,要求你输出有多少个不大于n的H半素数.

【要求】

【数据输入】输入包括多组数据,每组数据输出一行,包括一个整数n,(n ≤ 1,000,001 ) 最后一行为一个0,表示输入结束.

【数据输出】每个输入数据输出一行,先输出n,然后输出小于等于n的H数中有几个是H半素数,这两个数用一个空格隔开

【样例输入】 21 85 789 0

【样例输出】 21 0 85 5 789 62

数列找数

Time Limit:1000MS Memory Limit:65536K Total Submit:635 Accepted:263

【问题描述】

在一个数组A(N)各下标变量中存储N个互不相等的数,键盘输入正整数M(M≤N),要求打印出数组中第M大的下标变量的值。 例如:数组A(10)的数据为:

A(1), A(2), A(3), A(4), A(5), A(6), A(7), A(8), A(9), A(10) 16, 57, 20, 19, 38, 41, 6, 13, 25, 32

M=3时的运行结果为: A(5)=38 (即第3大的数是A(5)=38)

【要求】

【数据输入】第一行为测试的数据的组数k,说明共有K组数据,每一组有两行。每组中第一行为N,M,第二行为N个下标变量的值。

【数据输出】输出每一组数据中符合要求的下标值和下标变量值。

【样例输入】 2 5 1

6 8 3 4 5 3 2 1 2 3

【样例输出】 A(2)=8 A(2)=2

放苹果

Time Limit:1000MS Memory Limit:65536K Total Submit:136 Accepted:94

【问题描述】

把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。

【要求】

【数据输入】第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。

【数据输出】对输入的每组数据M和N,用一行输出相应的K。

【样例输入】 1 7 3

【样例输出】 8

密码

Time Limit:1000MS Memory Limit:65536K Total Submit:126 Accepted:65

【问题描述】网上流传一句话:\常在网上飘啊,哪能不挨刀啊~\。其实要想能安安心心地上网其实也不难,学点安全知识就可以。 首先,我们就要设置一个安全的密码。那什么样的密码才叫安全的呢?一般来说一个比较安全的密码至少应该满足下面两个条件: (1).密码长度大于等于8,且不要超过16。

(2).密码中的字符应该来自下面“字符类别”中四组中的至少三组。 这四个字符类别分别为: 1.大写字母:A,B,C...Z; 2.小写字母:a,b,c...z; 3.数字:0,1,2...9;

4.特殊符号:~,!,@,#,$,%,^;

给你一个密码,你的任务就是判断它是不是一个安全的密码。

【要求】

【数据输入】输入数据有多组,对于每一组输入第一行包含一个数M,接下有M行,每行一个密码(长度最大可能为50),密码仅包括上面的四类字符输入0退出。

【数据输出】对于每个测试实例,判断这个密码是不是一个安全的密码,是的话输出YES,否则输出NO。

【样例输入】 3

a1b2c3d4 Linle@ACM ^~^@^@!% 0

【数据输出】 NO YES NO