求解
pascal吧
全部回复
仅看楼主
level 6
190dxq 楼主
描述
考虑整数的任意序列。一个可以放置+或 - 序列中运营商之间的整数,由此得出的计算结果为不同的价值观不同的算术表达式。让我们,例如,取以下序列:17,5,-21,15有八种可能的表达式:
17 + 5 + -21 + 15 = 16
17 + 5 + -21 - 15 = -14
17 + 5 - -21 + 15 = 58
17 + 5 - -21 - 15 = 28
17 - 5 + -21 + 15 = 6
17 - 5 + -21 - 15 = -24
17 - 5 - -21 + 15 = 48
17 - 5 - -21 - 15 = 18
我们称之为整数整除k的序列,如果+或 - 符可以放置整数之间的序列中以这样的方式,得到的值是整除由K.另外,在上述例子中,该序列是整除7(17 + 5 + - 21-15 = -14),但不整除5。
请你写一个程序,将决定整数序列整除。
给出N个数,你可以在这N个数中任意地添加+号或-号,求出能不能使算出的结果被K整除。可以则打印“Divisible”,否则打印“Not dixisible“
下面是一个例子:
有4个数,分别是17 -21 5 15
17 + 5 + -21 + 15 = 16
17 + 5 + -21 - 15 = -14
17 + 5 - -21 + 15 = 58
17 + 5 - -21 - 15 = 28
17 - 5 + -21 + 15 = 6
17 - 5 + -21 - 15 = -24
17 - 5 - -21 + 15 = 48
17 - 5 - -21 - 15 = 18
有8种添法,其中第二种求出的-14能被7整除。
输入
输入的第一行包含两个整数,N和K(1 <= N <= 10000,2 <= K <= 100),用空格隔开。
第二行包含用空格隔开N个整数序列。每个整数不大于10000通过它的绝对值。
产量
写入到输出文件中的单词“可分”如果整数给出顺序或整除K“不可分割的”,如果它不是。
这个问题包含多个测试用例!
多输入的第一行是一个整数N,则空白行随后的N个输入块。每个输入块是在问题描述指示的格式。有输入块之间的空行。
输出格式包括N个输出模块。有输出块之间的空行。
样本输入
4 7
17 5 -21 15
样本输出
Divisible
2015年08月07日 02点08分 1
1