编程题 共5道

01 02 03 04 05

300 | 202403C语言三级真题-考试
编程题 共5道
01

我家的门牌号

我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。

若所有的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。

数据保证有唯一解。

时间限制:1000

内存限制:65536

输入

一个正整数n。n < 100000。

输出

一行,包含两个正整数,分别是我家的门牌号及总共有多少家,中间用单个空格隔开。

样例输入

100

样例输出

10 15

0分
登录后作答
02

最接近的分数

分母不超过 N 且 小于 A/B 的最大最简分数是多少?

时间限制:10000

内存限制:65536

输入

三个正整数N,A,B,相邻两个数之间用单个空格隔开。1 <= A < B < N <= 1000。

输出

两个正整数,分别是所求分数的分子和分母,中间用单个空格隔开。

样例输入

100 7 13

样例输出

50 93

0分
登录后作答
03

菲波那契数列

菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲波那契数列中第a个数对10000取模的结果是多少。

时间限制:1000

内存限制:65536

输入

1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= 1000000)。

输出

n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数对10000取模得到的结果。

样例输入

4

5

2

19

1

样例输出

5

1

4181

1

0分
登录后作答
04

表达式求值

输入一个布尔表达式,请你输出它的真假值。
比如:( V | V ) & F & ( F | V )
V表示true,F表示false,&表示与,|表示或,!表示非。
上式的结果是F

时间限制:1000

内存限制:65536

输入

输入包含多行,每行一个布尔表达式,表达式中可以有空格,总长度不超过1000

输出

对每行输入,如果表达式为真,输出"V",否则出来"F"

样例输入

( V | V ) & F & ( F| V)

!V | V & V & !F & (F | V ) & (!F | F | !V & V)

(F&F|V|!V&!F&!(F|F&V))

样例输出

F

V

V

0分
登录后作答
05

广义格雷码

在一组数的编码中,若任意两个相邻(首尾也视为相邻)的代码只有一位二进制数不同,则称这种编码为格雷码。如四位格雷码:

0000、0001、0011、0010、0110、0111、0101、0100、1100、1101、1111、1110、1010、1011、1001、1000

现在将格雷码扩展至其他进制,仍然是相邻两个数只能有一位不同。输入两个正整数n,m分别表示长度和进制,每行输出一个n位m进制数,输出任意一种编码即可。(提示:putchar输出效率更高)

时间限制:1000

内存限制:65536

输入

一行,两个整数n,m。其中 2 ≤ n ≤ 12 ,2 ≤ m ≤ 10 且mn ≤ 500000

输出

任意一种编码方案,每个编码一行。相邻两个编码相差一位。第一个编码和最后一个编码算相邻

样例输入

2 3

样例输出

00

10

20

21

01

11

12

22

02

0分
登录后作答