第一题:《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 0
样例输出 0 4 18 25
第七题:马的走法 目描述
在一个4*5的棋盘上,马的初始位置坐标(纵 横)位置由键盘输入,求马能返回初始位置的所有不同走法的总数(马走过的位置不能重复,马走“日”字)。如果马的初始位置坐标超过棋盘的边界,则输出ERROR。例如初始位置为4 6,则输出ERROR。
输入
输入数据只有一行,有两个用空格分开的整数,表示马所在的初始位置坐标。首行首列位置编号为(1 1)。
输出
输出一行,只有一个整数,表示马能返回初始位置的所有不同走法的总数。
如果输入的马的初始位置超出棋盘边界,则输出ERROR。
示例输入
2 2
示例输出
4596