Ich verstehe, dass, damit diese Funktion funktioniert crtHasSolution muss zuerst wahr Ich habe Probleme zu beweisen, dass n eine Lösung sein könnte irgendwelche Ideen oder Tipps, wie man das in Haskell schreiben oder überprüfen?Haskell Chinese Remainder Theorem
Ich weiß, dass die Bedingungen für N sind, dass es größer oder gleich 0 und kleiner als m ist, was das Produkt aller mod Basen ist.
crtHasSolution :: [Integer] -> [Integer] -> Bool
crtHasSolution as ms = length as > 0 &&
length ms > 0 &&
length as == length ms &&
all (>=0) as &&
all (>=2) ms &&
pairwise_coprime ms
-- Is a given number a solution to a CRT problem?
-- usage: crtIsSolution n as ms = ans
-- assures: ans == True, if crtHasSolution as ms == True and n is a solution
-- ans == False, otherwise
crtIsSolution :: Integer -> [Integer] -> [Integer] -> Bool
crtIsSolution n as ms = crtHasSolution as ms &&
n >= 0 &&
n < m
where m =
Was haben Sie bisher versucht? Es wäre besser, wenn du deinen Versuch zeigen könntest und wir dir dann in Bereichen helfen, in denen du feststeckst. – Sibi
Wenn Sie sich das Codebild ansehen, das ich bisher ausprobiert habe, aber ich bin mir nicht sicher, ob das korrekt ist – ale
für zukünftige Referenz, kopieren Sie einfach Ihren Code, anstatt es zu scannen. – rampion