算法大赛试题集合 联系客服

发布时间 : 星期一 文章算法大赛试题集合更新完毕开始阅读8f3162a7b0717fd5360cdcd3

运动会连续开了n天,一共发了m枚奖章,第一天发1枚并剩下(m-1)枚的1/7,第二天发2枚并剩下的1/7,以后每天按此规律发奖章,在最后一天即第n天发了剩下的n枚奖章。问运动会开了多少天?一共发了几枚奖章?

设有一个数组A:array [0..N-1] of integer; 存放的元素为0~N-1(1

A[0]编码为0;

A[i]编码为:在A[0],A[1],?,A[i-1]中比A[i]的值小的个数

(i=1,2,?,N-1)

∴上面数组A的编码为:B=(0,0,0,3,1,2)

要求编程解决以下问题:

(1)给出数组A后,求出其编码;

(2)给出数组A的编码后,求出A中的原数据

程序样例: 例一:

输入:Stat=1 {表示要解决的第(1)问题}

N=8 {输入8个数}

A=1 0 3 2 5 6 7 4

输出:B=0 0 2 2 4 5 6 4

例二:

输入:Stat=2 {表示要解决的第(2)问题}

N=7

B=0 1 0 0 4 5 6

输出:A=2 3 1 0 4 5 6

矩阵相乘:已知N×M1矩阵A和M1×M矩阵B(1≤M、M1、N≤10),求矩阵C(=A×B)。例如:

输入:N,M1,M=4 3 4

A= 1 2 3

3 4 5 提示:所谓矩阵相乘(如A×B=C),是指

4 5 6 Cij= ∑(Aik×Bkj)(i=1~N,j=1~M1,k=1~M)

5 –1 –2

B= 1 6 4 2 例如:

2 3 4 1 C11=A11×B11+A12×B21+A13×B31

–1 5 7 –3 =1×1+2×2+3×(– 1)

输出:C= 2 27 33 –5 =2

6 55 63 –5 C42= A41×B12+A42×B22+A43×B32

8 69 78 –5 =5×6+(–1)×3+(–2)×5

5 17 2 15 =17

输入N(2≤N≤100)个数字(在0与9之间),然后统计出这组数中相邻两数字组成的链环数字对出现的次数。例如:

输入:N=20 {表示要输入数的数目}

0 1 5 9 8 7 2 2 2 3 2 7 8 7 8 7 9 6 5 9

输出:(7,8)=2 (8,7)=3 {指(7,8)、(8,7)数字对出现次数分别为2次、3次)

(7,2)=1 (2,7)=1

(2,2)=2

(2,3)=1 (3,2)=1

生成一个按蛇形方式排列自然数1,2,3,4,5,??,N2的 (1

输入:N=4 N=7

输出: 1 3 4 10 1 3 4 10 11 21 22

2 5 9 11 2 5 9 12 20 23 34

6 8 12 15 6 8 13 19 24 33 35

7 13 14 16 7 14 18 25 32 36 43

15 17 26 31 37 42 44

16 27 30 38 41 45 48

28 29 39 40 46 47 49