第四届蓝桥杯-20130425练习题(3题)

第四届蓝桥杯-20130425练习题(3题)
第四届蓝桥杯-20130425练习题(3题)

第一题:《K尾相等数》

描述输入一个自然数K(K>1),如果存在自然数M和N(M>N),使得K^M和K^N 均大于等于1000,且他们的末尾三位数相等,则称M和N是一对“K尾相等数”。下面请编程求出M+N最小的K尾相等数。

输入第一行包含一个正整数T,T<10000,表示有T组数据;

随后有N行,每行包括一个整数K(K<2*10^10);输出对于输入的每个整数K,输出对应的M+N的最小值;样例输入 1

2 样例输出 120

测试数据:

25

125

1000

1234

111111

1000003

123454321

测试数据结果:

7

6

3

56

52

102

27

第四题:《Redraiment猜想》

描述

redraiment在家极度无聊,于是找了张纸开始统计素数的个数。

设函数f(n)返回从1->n之间素数的个数。

redraiment发现:

f(1) = 0

f(10) = 4

f(100) = 25

...

满足g(m) = 17 * m2 / 3 - 22 * m / 3 + 5 / 3

其中m为n的位数。

他很激动,是不是自己发现了素数分布的规律了!

请你设计一个程序,求出1->n范围内素数的个数,来验证redraiment是不是正确的,也许还可以得诺贝尔奖呢。^_^

输入

输入包括多组数据。

每组数据仅有一个整数n (1≤n≤100000000)。

输入以0结束

输出

对于每组数据输入,输出一行,为1->n(包括n)之间的素数的个数。

样例输入

1

10

65

100

样例输出

4

18

25

第七题:马的走法

目描述

在一个4*5的棋盘上,马的初始位置坐标(纵横)位置由键盘输入,求马能返回初始位置的所有不同走法的总数(马走过的位置不能重复,马走“日”字)。如果马的初始位置坐标超过棋盘的边界,则输出ERROR。例如初始位置为4 6,则输出ERROR。

输入

输入数据只有一行,有两个用空格分开的整数,表示马所在的初始位置坐标。首行首列位置编号为(1 1)。

输出

输出一行,只有一个整数,表示马能返回初始位置的所有不同走法的总数。

如果输入的马的初始位置超出棋盘边界,则输出ERROR。

示例输入

2 2

示例输出

4596

相关主题
相关文档
最新文档