山科oj题目(7)

2019-02-16 01:24

Input

输入的第一个数为n(n<=1000),后接n个整数。

Output

按从小到大的顺序输出这些整数,每两个整数之间用一个空格分隔开,最后一个整数后面没有空格。

Sample Input

10 3 9 1 5 2 8 5 6 7 3

Sample Output

1 2 3 3 5 5 6 7 8 9

HINT

排序前必须把所有的整数都存储下来。因为只有最多1000个数,1秒的时间足够任何排序算法运行处结果来。

Append Code

答案:#include int main() { int a[1000]; int n,i,j,temp; scanf(\ for(i=0;ia[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp;

}

}

for(i=0;i

printf(\return 0;

Problem B: 兔子的繁殖问题

Time Limit: 1 Sec Memory Limit: 2 MB

Submit: 1944 Solved: 1007 [Submit][Status][Web Board]

Description

假设一对兔子每月能生一对小兔(一雌一雄),每对小兔出生后的下一个月是没有繁殖能力的,至出生后的第三个月开始又可以每月生一队小兔,问从一对刚出生的小兔开始,经过若干个月后一共有多少兔子(假设在此过程中兔子没有死亡)?

这个问题是意大利数学家菲波那契(Fibonacci)在他1202年出版的《算盘全书》中提出来的,从第一对刚出生的小兔开始每月的兔子数被乘坐菲波那契序列。

Input

输入的第一个数为n,接下来有n个数字。每个数字为一个月份m(m<=45)。

Output

输出为n行,每行为第m个月后的兔子总数。

Sample Input

6

1 2 3 4 5 10

Sample Output

1 2 3 5 8 89

HINT

当n较大时,菲波那契序列的第n项值和计算量都是很大的,可以先计算出菲波那契序列并用数组存储下来,然后查询出每月兔子数,避免重复运算。

Append Code

答案:#include int main() { int a[50]; int i,m,n; a[0]=1; a[1]=1; for(i=2;i<50;i++)

a[i]=a[i-1]+a[i-2]; scanf(\ while(m--) {

scanf(\ printf(\ } return 0; }

Problem C: 产生等差序列之一

Time Limit: 1 Sec Memory Limit: 2 MB

Submit: 2391 Solved: 879 [Submit][Status][Web Board]

Description

根据给出的初始数、公差和序列长度求等差序列。

Input

输入为一行,格式见sample。其中,start为初始数,step为公差,times为序列长度。满足,times>0,step不为0。

Output

把这个等差序列输出在一行里,序列两数之间用一个空格分隔。

Sample Input

start = 1, step = 2, times = 100

Sample Output

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 127 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 183 185 187 189 191 193 195 197 199

HINT Append Code

答案:#include int main() { int a[1000]; int start,step,times,i; scanf(\ a[0]=start; for(i=1;i<=times;i++) a[i]=a[i-1]+step; for(i=0;i

}

return 0;

Problem D: 产生等差序列之二

Time Limit: 1 Sec Memory Limit: 2 MB

Submit: 2297 Solved: 739 [Submit][Status][Web Board]

Description

根据给出的初始数、公差和终止条件求等差序列。

Input

输入为一行,格式见sample。其中,start为初始数,step为公差,end为终止条件。满足,step不为0,并且start和end的大小关系与step的方向一致。end不一定是序列的最后一个数。

Output

把这个等差序列输出在一行里,序列两数之间用一个空格分隔。

Sample Input

start = 1, step = 2, end = 200

Sample Output

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 127 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 183 185 187 189 191 193 195 197 199

HINT

根据start和step的大小关系,判断序列终止的条件可能不同。


山科oj题目(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2014年中考语文模拟试卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: