2017-10-13 7 views
1

2つの素数を同時に乗算するために取られたシステム時間(pr)の値を平均化しようとする問題があります。 現在、1回の反復で動作していますが、n回の反復で動作するようにする方法は不明です。Rで平均システム時間を作成する方法は?

require("gmp") 
prime<-function(a) { 
    pr <- vector(mode = "numeric", length = a) 
    sz <- vector(mode = "numeric", length = a) 
    for(i in 1:a){ 
    y<-urand.bigz(nb = 2, size = i) 
    p1<-nextprime(as.bigz(y[1])) 
    p2<-nextprime(as.bigz(y[2])) 
    p<-p1*p2 

    pr[i] <-system.time(factorize(p))[1] 
    sz[i] <-sizeinbase(p) 
    } 
    return(cbind(sz,pr)) 
} 
times <- prime(48) 


plot(times,xlab="Size of Psuedoprime ",ylab="Time taken to factorize", main="Size of Vs Time taken to factorize of a given Pseudoprime") 

任意のヘルプは、私は、これはあなたが探しているものだと思います

答えて

0

をいただければ幸いです。

prime<-function(a) { 
    pr <- vector(mode = "numeric", length = sum(a)) 
    sz <- vector(mode = "numeric", length = sum(a)) 
    for(j in 1:length(a)){ 

    for(i in 1:a[j]){ 
     y<-urand.bigz(nb = 2, size = i) 
     p1<-nextprime(as.bigz(y[1])) 
     p2<-nextprime(as.bigz(y[2])) 
     p<-p1*p2 

     if(j == 1){ 
     pr[i] <-system.time(factorize(p))[1] 
     sz[i] <-sizeinbase(p) 
     }else{ 
     pr[sum(a[1:(j-1)]) + i] <- system.time(factorize(p))[1] 
     sz[sum(a[1:(j-1)]) + i] <-sizeinbase(p) 
     } 

    } 
    } 

    return(cbind(sz,pr)) 
} 
times <- prime(c(48, 52)) 
+0

ありがとうございます、すべてがうまくいくようです。 – Stuck

関連する問題