您的任务是编写一个程序或函数,以确定一个数字是否可以被另一个数整除。要注意的是,即使没有给出数字的全部数字,也应尽快给出答案。
你的程序应该采取的整数d ≥2,然后是一连串的数字作为输入。这些代表的另一数字整数Ñ ≥1,开始于至少显著数字。在第一点ñ要么必须或不能被divisble d,你的程序应该输出适当的答案并退出。如果到达输入的末尾,则应输出完整的N是否可被D整除。
这是N可接受的输入格式的列表 (如果您认为应该允许不包含的内容,请留下评论):
标准输入:数字在单独的行上给出; 输入的结尾为EOF或特殊值; exit表示函数返回或程序退出。
模拟输入:例如通过击键或代表每个数字的十个按钮; 输入的结尾是一个特殊值; exit表示函数返回或程序退出。
具有全局状态的功能:用连续的数字重复调用; 输入的结尾是一个特殊值; exit表示该函数返回一个非null值。请注意,如果您使用全局状态,则必须在返回值或以其他方式重置后清除它,以使该函数可以多次运行。
Curried函数:返回另一个要用下一位数字或值调用的函数; 输入的结尾是一个特殊值或不带参数的函数; exit表示该函数返回答案,而不是另一个函数。
GUI提示或类似内容:重复显示; 输入的结尾是“取消”或等效值,或特殊值; 退出意味着提示停止出现。
迭代器函数:输入是有状态对象或函数,在调用时返回下一个数字 ,输入结尾是异常或特殊值; 退出意味着迭代器停止被调用。
D的输入和输出可以通过任何可接受的标准方法进行。
测试用例:
2; 6 => true
5; 6 => false
20; 0 3 => false
20; 0 4 => true
100; 1 => false
100; 0 0 => true
100; 0 2 => false
4; 2 4 => false
4; 2 5 => true
4; 2 [eof] => false
4; 4 [eof] => true
625; 5 5 => false
625; 5 7 2 => false
625; 5 7 3 6 => false
625; 5 7 3 4 => true
7; 9 3 4 [eof] => false
7; 9 3 4 5 [eof] => true
140; 0 3 => false
140; 0 4 5 [eof] => false
140; 0 4 5 1 [eof] => true
14; 4 5 1 4 [eof] => false
14; 4 5 1 4 1 [eof] => true
digits
具有特殊值的EOF 的输入有什么问题吗?
[]
和[2]
比其他任何回报false
或true
(包括本身的功能等),同时[2,3]
,[2,3,1]
和[2,3,1,EOF]
回报true
。它使我感到接近全局状态选项。