2014年决赛 C/C++高职高专组
1. 结果填空 (满分10分)
标题:国王的遗产
X国是个小国。国王K有6个儿子。在临终前,K国王立下遗嘱:国王的一批牛作为遗产要分给他的6个儿子。
其中,大儿子分1/4,二儿子1/5,三儿子1/6,.... 直到小儿子分1/9。
牛是活的,不能把一头牛切开分。
最后还剩下11头牛,分给管家。
请计算国王这批遗产中一共有多少头牛。
这是一个整数,请通过浏览器提交答案,不要填写任何多余的内容(比如说明性的文字)
2. 结果填空 (满分35分)
标题:神奇6位数
有一个6位的正整数,它有个很神奇的性质:
分别用2 3 4 5 6去乘它,得到的仍然是6位数,并且乘积中所包含的数字与这个6位数完全一样!只不过是它们的顺序重新排列了而已。
请计算出这个6位数。
这是一个整数,请通过浏览器提交答案,不要填写任何多余的内容(比如说明性的文字)
3. 代码填空 (满分25分)
标题:日期差
历史上,不同的人类聚居地可能有不同的历法,因而记录下来的资料中日期的换算就很麻烦。幸好今天我们统一使用公元纪年法。当然,这种历法对求两个日期差多少天也不是十分简便,但毕竟是可以忍受的。
下面的程序计算了两个日期的差值,两个日期都使用公元纪年法。
第 1/7 页
请分析程序逻辑,并推断划线部分缺失的代码。
int to_day(int y, int m, int d) { int mon[] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; int day = 0; int i; for(i=1; i int diff(int y1, int m1, int d1, int y2, int m2, int d2) { int a = to_day(y1, m1, d1); int b = to_day(y2, m2, d2); return b-a; } int main() { int n = diff(1864,12,31,1865,1,1); printf(\ return 0; } 注意:通过浏览器提交答案。只填写缺少的内容,不要填写任何多余的内容(例如:说明性文字或已有符号)。 4. 程序设计(满分50分) 标题:拼接平方数 小明发现49很有趣,首先,它是个平方数。它可以拆分为4和9,拆分出来的部分也是平方数。169也有这个性质,我们权且称它们为:拼接平方数。 第 2/7 页 100可拆分1 00,这有点勉强,我们规定,0 00 000 等都不算平方数。 小明想:还有哪些数字是这样的呢? 你的任务出现了:找到某个区间的所有拼接平方数。 【输入格式】 两个正整数 a b (a 【输出格式】 若干行,每行一个正整数。表示所有的区间[a,b]中的拼接平方数 例如: 输入: 1 200 程序应该输出: 49 169 再例如: 输入: 169 10000 程序应该输出: 169 361 1225 1444 1681 3249 4225 4900 9025 资源约定: 峰值内存消耗 < 256M CPU消耗 < 1000ms 请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。 所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。 第 3/7 页