0
голосов
1ответов
2320 просмотров

tail recursion sum, power, gcd in prolog?

how can I accomplish this: Give a tail-recursive definition for each of the following predicates. power(X,Y,Z): XY=Z. gcd(X,Y,Z): The greatest common divisor of X and Y is Z. sum(L,Sum): Sum is the sum of the elements in L. so far I have done this but not sure if that's correct power(_,0,1) ...

9
голосов
2ответов
12589 просмотров

What is the fastest way to check if two given numbers are coprime?

One way is to calculate their gcd and check if it is 1. Is there some faster way?

15
голосов
6ответов
14861 просмотров

Euclidean greatest common divisor for more than two numbers

Can someone give an example for finding greatest common divisor algorithm for more than two numbers? I believe programming language doesn't matter.

45
голосов
8ответов
8000 просмотров

«Приближенный» наибольший общий делитель

Предположим, у вас есть список чисел с плавающей запятой, которые приблизительно кратны обычному количеству, например 2,468, 3,700, 6,1699 , которые примерно кратны 1,234. Как бы вы охарактеризовали этот «приблизительный НОД» и как бы вы приступили к его вычислению или оценке? Это стро...