22 lines
559 B
R
22 lines
559 B
R
## Stern-Brocot sequence
|
|
## 12/19/16 aev
|
|
SternBrocot <- function(n){
|
|
V <- 1; k <- n/2;
|
|
for (i in 1:k)
|
|
{ V[2*i] = V[i]; V[2*i+1] = V[i] + V[i+1];}
|
|
return(V);
|
|
}
|
|
|
|
## Required tests:
|
|
require(pracma);
|
|
{
|
|
cat(" *** The first 15:",SternBrocot(15),"\n");
|
|
cat(" *** The first i@n:","\n");
|
|
V=SternBrocot(40);
|
|
for (i in 1:10) {j=match(i,V); cat(i,"@",j,",")}
|
|
V=SternBrocot(1200);
|
|
i=100; j=match(i,V); cat(i,"@",j,"\n");
|
|
V=SternBrocot(1000); j=1;
|
|
for (i in 2:1000) {j=j*gcd(V[i-1],V[i])}
|
|
if(j==1) {cat(" *** All GCDs=1!\n")} else {cat(" *** All GCDs!=1??\n")}
|
|
}
|