错误地减少分数
在此代码高尔夫球挑战中,您必须找到可以以错误的方式减少但仍以相同数量结尾的分数。
注意:减少分数的错误方法此处有一个确切的定义,请参阅详细信息。
例:
64/16 = 6 4/1 6 = 4/1 = 4
当然,您不能只击中两个6e,但是在这里您仍然得到正确的值。在这个挑战中,您必须找到这样的例子。
细节
您必须编写一个函数/程序,接受一个正整数n
作为输入,然后输出/返回格式的分数列表/数组
numerator1,denominator1,numerator2,denominator2,...
该计划必须找出每个分数a/b
与a+b=n
和a,b>0
它是否可以减少错误的方式。(无论是否可以以常规方式减少排放量,还是有很多减少排放量的可能性,都必须至少以一种方式以错误的方式减少排放量。)
错误方式的定义:当且仅当相同的连续数字序列出现在a和b中且如果除去子字符串时分数的值保持相同时,分数才能以错误的方式还原。
示例:1536/353可以“减少”为16/3,但是这两个值不相等,因此您不能以错误的方式减少此分数。
请注意,这种减少错误方式的定义也可以包括以正确方式减少的分数:即使110/10 = 11/1
在减少错误方式的定义内,它也是有效的步骤。
计分
最少的字节数获胜。您可以编写一个接受整数并返回使用stdin / stdout的数组或程序的函数或程序,也可以考虑将n保存在变量中,并且在程序末尾,列表必须保存在另一个变量中。
测试用例
请包括以下测试用例(告诉我应该添加哪些测试用例,我不知道这些部分有多少/期望有多少示例)
n=80 (64/16 should be in this list)
n=147 (98/49 should be in this list)
n=500 (294/196 should be in this list) WRONG since 294+196 != 500 Thanks Falko
1010/10 = 101/1 && 1010/10 /= 110/1
n=147
)不正确:49/89 != 4/8
。