奥林匹克分区联赛复赛试题

来源:百度知道 编辑:UC知道 时间:2024/05/21 20:40:09
题一 数的计算(20分)

问题描述

我们要求找出具有下列性质数的个数(包含输入的自然数n):

先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理:

1. 不作任何处理;

2. 在它的左边加上一个自然数,但该自然数不能超过原数的一半;

3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止.

样例: 输入: 6

满足条件的数为 6 (此部分不必输出)

16

26

126

36

136

输出: 6

题二 最大公约数和最小公倍数问题(20分)

问题描述

输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数

条件: 1.P,A是正整数

2.要求P,Q以x0为最大公约数,以y0为最小公倍数.

试求:满足条件的所有可能的两个正整数的个数.

样例

输入:x0=3 yo=60

输出:4

说明(不用输出)此时的 P Q 分别为:

3 60

15 12

12 15

60 3

所以:满足条件的所有可能的两个正整数的个数共4种.

题三

楼主第一题我已经写给“NOI’2001第七届计算机分区联赛复赛试题第1题(高手进)”
http://zhidao.baidu.com/question/1176593.html
,你可以看看先!
后面的几题嘛,基本都是一些典型数据结构的问题,没有什么大难点!兄弟手上忙着,不好去写具体的代码!包涵!只在此和大家随便讨论下!
第一题,很好解决,用递归做!第二题我认为难点在于怎么求最大公约和最小公倍,解决了这个问题就可以了!第三、四题是很典型的数据结构问题!这方面的代码网上有蛮多的!