我有此功能,需要检查数字gdc
和[1..n]
中的n
是否为== 1
,然后进行一些计算。所以我被困住了,因为我找不到将n的初始值存储到变量的方法。
例如,如果我用数字7调用该函数是递归操作,则n
变成6
,然后变成5
,依此类推,所以我不能正确地gdc
;例如1-7
然后2 - 7
然后3 -7
。您知道如何将n
的值存储到a
变量吗?
myproduct :: Integer->Integer
myproduct 0 = 1
myproduct n
|gcd n (n from first call) /= 1 = myproduct (n-1)
|otherwise = x
where
x = n * myproduct (n - 1)