数对
题目描述
给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2的2倍,18是9的两倍。
输入
一行,给出2到15个两两不同且小于100的正整数。最后用0表示输入结束。
输出
一个整数,即有多少个数对满足其中一个数是另一个数的两倍。
样例输入
1 4 3 2 9 7 18 22 0
样例输出
3
数列
题目描述
菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
例如:1, 1, 2, 3, 5, 8, 13, 21… 从第三项开始,每一项等于前两项的和。
输入
输入一行,包含一个正整数k。(1 ≤ k ≤ 46)
输出
输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小。
样例输入
9
样例输出
34
爬楼梯
题目描述
树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数。例如:
楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级,也可以第一次走两级,第二次走一级,一共3种方法。
输入
输入包含若干行,每行包含一个正整数N(1<=N<=30),代表楼梯级数。
输出
不同的走法数,每一行输入对应一行输出。
样例输入
5
8
10
样例输出
8
34
89
数据范围限制
1<=N<=30
井和绳子
题目描述
有A, B, C, D, E五家人共用一口井,已知井深不超过k米。A, B, C, D, E的绳长各不相同,而且厘米表示的绳长一定是整数。
从井口放下绳索正好达到水面时:
(a)需要A家的绳n1条接上B家的绳1条
(b)需要B家的绳n2条接上C家的绳1条
(c)需要C家的绳n3条接上D家的绳1条
(d)需要D家的绳n4条接上E家的绳1条
(e)需要E家的绳n5条接上A家的绳1条
问井深和各家绳长。
输入
输入只有1行。包括空格分开的6个整数。第一个整数1<=k<=20),代表井的最大深度(单位:米)。接下来是5个正整数
输出
输出只有1行。如果找到了可行解,就输出6个整数,用空格分开,分别代表井的深度和A, B, C, D, E的绳长(单位都是厘米)。
样例输入
10 2 3 4 5 6
样例输出
721 265 191 148 129 76
表达式求值
题目描述
输入一个布尔表达式,请你输出它的真假值。
比如:( V | V ) & F & ( F | V )
V表示true,F表示false,&表示与,|表示或,!表示非。
上式的结果是F
输入
输入包含多行,每行一个布尔表达式,表达式中可以有空格,总长度不超过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