臨床統計もおもしろいですよ、その1at HOSP
臨床統計もおもしろいですよ、その1 - 暇つぶし2ch676:卵の名無しさん
18/08/19 23:40:10.33 gaGSkZ47.net
seg <- function(a,b,...){
segments(Re(a),Im(a),Re(b),Im(b),...)}
pt <- function(x,y=NULL,...){
text(Re(x),Im(x), ifelse(is.null(y),'+',y), ...)}
# solve α^2/a^2 + (b+β)^2/b^2=1 for a
α=3
β=-1
b=1
# α^2*b^2/(-β*(2*b+β))
(a = α*b/sqrt(-β*(2*b+β)))
(q=b+β)
f= function(x,y) x^2/a^2 + (y-q)^2/b^2 # = 1
x=seq(-5,5,length=100)
y=seq(-5,5,length=100)
z=outer(x,y,f)
contour(x,y,z,level=1,bty='l',xlim=c(-10,10),ylim=c(-2,10),
drawlabels=FALSE,col=sample(colours(),1),axes=FALSE,lwd=2)
pt(α,'●') ; pt(-α,'●') ; pt(β*1i,'●')
seg(-10,10,lty=3) ; seg(-4i,10i,lty=3)
pt(0+q*1i,'.')
eclipse <- function(b) {
# α^2*b^2/(-β*(2*b+β))
(a = α*b/sqrt(-β*(2*b+β)))
(q=b+β)
f= function(x,y) x^2/a^2 + (y-q)^2/b^2 # = 1
x=seq(-10,10,length=100)
y=seq(-10,10,length=100)
z=outer(x,y,f)
contour(x,y,z,level=1,drawlabels=FALSE,add=TRUE,col=sample(colours(),1),lwd=2)
pt(0+q*1i,'.')
}
for(i in 2:10) eclipse(i)

677:卵の名無しさん
18/08/20 13:20:40.68 qQ1lYpXa.net
solve α=a-h, α^2/a^2+β^2/b^2=1,α^2/a^2+γ^2/c^2=1,(a-h+H)^2/a^2 + (β/2)^2/b^2 = 1, for a

678:卵の名無しさん
18/08/21 02:23:50.71 AVDxqhtS.net
rm(list=ls())
D=1
H=0
n=3
cards=c(rep(D,13),rep(H,39))
n.DH=length(cards)
n.D=sum(cards)
sim <- function(){
index_of_inbox=sample(1:n.DH,1)
inbox=cards[index_of_inbox]
outbox=cards[-index_of_inbox] # cards out of box
drawn=sample(outbox,n) # 2 cards drawn from outbox
c(inbox=inbox,drawn=drawn)
}
rate_sim <- function(k){
re=replicate(k,sim())
sum(apply(re,2,function(x) sum(x))==(n+1))/sum(apply(re,2,function(x) sum(x[-1]))==n)
}
re=replicate(100,rate_sim(1000))
summary(re)
#
f <- function(n,D=13,H=52-13){
T=D+H
(D/T * choose(D-1,n)/choose(T-1,n)) /((D/T * choose(D-1,n)/choose(T-1,n)) + H/T * choose(D,n)/choose(T-1,n))
}
n=0:12
f(n)
plot(n,f(n),pch=19,bty='l')

679:卵の名無しさん
18/08/21 12:11:49.73 AVDxqhtS.net
rm(list=ls()) ; graphics.off()
n=5
ngon <- function(n,digit=TRUE,axis=FALSE,cex=1,...){ # draw n-polygon
r=exp(2*pi/n*1i)
p=complex(n)
for(i in 1:(n+1)) p[i]= (1-r^i)/(1-r)
plot(p,bty='l',type='l',axes=axis, ann=FALSE,asp=1,...)
points(1/(1-r),pch='.')
if(digit) text(Re(p),Im(p),paste('p',1:n),cex=cex)
if(axis){axis(1) ; axis(2)}
invisible(p) # return vertex complex}
seg <- function(a,b,...){# draw segment of complex a to complex


680:b segments(Re(a),Im(a),Re(b),Im(b),col=2,...)} pt <- function(x,y=NULL,...){ # draw text y at complex x text(Re(x),Im(x), ifelse(is.null(y),'+',y), ...)} poly_demo2 <- function(x=runif(n),y=runif(n)){ #各頂点から最短の分岐点を選ぶ x:Re(z), y:Im(z) p=ngon(n,axis=T,col='skyblue') Q=complex(n) re1=re2=0 for(i in 1:n){ # plot Q Q[i]=x[i]+y[i]*1i pt(Q[i],paste('q',i))} for(i in 1:n){ # draw shortest seg for each vertex j=which.min(abs(p[i]-Q)) # Q[j]=nearest node (j: smallest index) seg(p[i],Q[j]) re1=re1+abs(p[i]-Q[j]) # total length of p-Q} for(i in 1:(n-1)){ seg(Q[i],Q[i+1]) re2=re2+abs(Q[i]-Q[i+1]) # total length of Q} return(sum(re1)+sum(re2))}



681:卵の名無しさん
18/08/21 12:13:21.67 AVDxqhtS.net
p=ngon(n,axis=T,col='skyblue')
poly2 <- function(par){ # par=c(Re(z),Im(z))
x=par[1:n]
y=par[(n+1):(2*n)]
Q=complex(n)
re1=re2=0
for(i in 1:n){ # par to complex number
Q[i]=x[i]+y[i]*1i
# pt(Q[i],paste('q',i)) }
for(i in 1:n){
j=which.min(abs(p[i]-Q)) # Q[j]=nearest node (j: smallest index)
# seg(p[i],Q[j])
re1=re1+abs(p[i]-Q[j]) # total length of p-Q}
for(i in 1:(n-1)){
# seg(Q[i],Q[i+1])
re2=re2+abs(Q[i]-Q[i+1]) # total length of Q}
return(sum(re1)+sum(re2))}
par(mfrow=c(2,2))
f <- function(){
(opt=optim(runif(2*n),poly2,method = 'BFGS'))
par=opt$par
poly_demo2(par[1:n],par[(n+1):(2*n)])
}
replicate(4,f())

682:卵の名無しさん
18/08/21 13:27:57.74 AVDxqhtS.net
# n 角形で m 点分岐を最適化(頂点から最短の分岐点を選ぶ)
n=5
m=1
poly_demo3 <- function(x=runif(m),y=runif(m)){ # x:Re(z), y:Im(z)
p=ngon(n,axis=T,col='skyblue')
Q=complex(m)
re1=re2=0
for(i in 1:m){ # plot Q
Q[i]=x[i]+y[i]*1i
pt(Q[i],paste('q',i))
}
for(i in 1:n){ # draw shortest seg for each vertex
j=which.min(abs(p[i]-Q)) # Q[j]=nearest node (j: smallest index)
seg(p[i],Q[j])
re1=re1+abs(p[i]-Q[j]) # total length of p-Q
}
if(m>1){
for(i in 1:(m-1)){
seg(Q[i],Q[i+1])
re2=re2+abs(Q[i]-Q[i+1]) # total length of Q
}}
return(sum(re1)+sum(re2))
}
poly_demo3()

683:卵の名無しさん
18/08/21 13:28:24.29 AVDxqhtS.net
p=ngon(n,print=FALSE)
poly3 <- function(par){ # par=c(Re(z),Im(z))
x=par[1:m]
y=par[(m+1):(2*m)]
Q=complex(m)
re1=re2=0
for(i in 1:m){ # par to complex number
Q[i]=x[i]+y[i]*1i
}
for(i in 1:n){
j=which.min(abs(p[i]-Q)) # Q[j]=nearest node (j: smallest index)
re1=re1+abs(p[i]-Q[j]) # total length of p-Q
}
if(m >1){
for(i in 1:(m-1)){
re2=re2+abs(Q[i]-Q[i+1]) # total length of Q
}}
return(sum(re1)+sum(re2))
}
poly3(runif(6))
par(mfrow=c(2,2))
f <- function(){
(opt=optim(rnorm(2*m),poly3,method = 'CG'))
par=opt$par
poly_demo3(par[1:m],par[(m+1):(2*m)])
}
replicate(4,f())

684:卵の名無しさん
18/08/21 18:03:02.00 AVDxqhtS.net
> str(re)
List of 2
$ :List of 2
..$ value: num 4.02
..$ par : num [1:6] 0.9432 0.6545 0.2652 0.0782 0.4755 ...
$ :List of 2
..$ value: num 3.89
..$ par : num [1:6] 0.8549 0.2805 0.0456 0.3258 0.3861 ...
> re[[which.min( unlist( lapply(re,'[',1) ) )]]
$`value`
[1] 3.891156871891314
$par
[1] 0.85487391200975060 0.28046877582694385 0.04560929326716642
[4] 0.32577844877585493 0.38608966889657914 0.91371285778407096

685:卵の名無しさん
18/08/22 11:10:22.52 rCdgdwPe.net
> dia=1
> heart=0
> n=98
> cards=c(rep(dia,99),rep(heart,1))
> n.DH=length(cards)
> n.D=length(dia)
> sim <- function(){
+ index_of_inbox=sample(1:n.DH,1)
+ inbox=cards[index_of_inbox]
+ outbox=cards[-index_of_inbox] # cards out of box
+ drawn=sample(outbox,n) # n cards drawn from outbox
+ c(inbox=inbox,drawn=drawn)
+ }
> rate_sim <- function(k){
+ re=replicate(k,sim()) # inbox=D&drawn=D / drawn=D
+ all_dia=sum(apply(re,2,function(x) sum(x))==(n+1))
+ drawn_dia=sum(apply(re,2,function(x) sum(x[-1]))==n)
+ c(all_dia/drawn_dia, drawn_dia/k)
+ }
> re=replicate(100,rate_sim(10000))
> summary(re[1,])
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.4235 0.4816 0.5012 0.5001 0.5230 0.5833
> summary(re[2,])
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.0170 0.0190 0.0199 0.0199 0.0207 0.0237

686:卵の名無しさん
18/08/22 13:49:25.38 NbYiL2GI.net
GCD <- function(a,b){ # Euclidean mutual division method
r = a%%b # a=bq+r -> a%%b=b%%r
while(r){
a = b
b = r
r = a%%b
}
return(b)
}
reduce_fraction <- function(x,y){
a=x
b=y
r = a%%b # a=bq+r -> a%%b=b%%r
while(r){
a = b
b = r
r = a%%b
}
gcd=b
cat(x/gcd,'/',y/gcd,'\n')
invisible(c(x/gcd,y/gcd))
}
# 2860 / 1082900
reduce_fraction(2860,1082900)

687:卵の名無しさん
18/08/23 16:08:47.89 MpxHuSF8.net
options(digits=16)
a=355
b=113
c=a/b # 3.141592920353983 > pi
d=a/b-pi # 2.667641894049666e-07 > 0
f <- function(i){
j=0 ; x=c ; y=d
while(x < c){
if(y < d) return(j)
x=(a+j)/(b+i)
y=abs(x-pi)
j=j+1
}
return(NULL)
}
i=1
while(is.null(f(i))){
if( !is.null(f(i)) ) return(


688:c(i,f(i))) i=i+1 }



689:卵の名無しさん
18/08/23 17:43:39.29 MpxHuSF8.net
options(digits=9)
a=355
b=113
(U=a/b) # 3.141592 92
(L=2*pi-a/b) # 3.141592 39

f <- function(n){
m=1
x=m/n
while(x<U){
if(L<x) return(m-1)
x=m/n
m=m+1
}
return(NULL)
}
n=1
while(is.null(f(n))){
if( !is.null(f(n)) ) break
n=n+1
}
cat(f(n),'/',n)

690:卵の名無しさん
18/08/23 18:36:03.33 MpxHuSF8.net
LU2fra <- function(L,U){
f <- function(n){
m=0
x=m/n
while(x<U){
if(L<x) return(m-1)
x=m/n
m=m+1
}
return(NULL)
}
n=1
while(is.null(f(n))){
if( !is.null(f(n)) ) break
n=n+1
}
cat(f(n),'/',n,'\n')
f(n)/n
}
dec2fra <- function(digit,precision=0.01){
L=digit*(1-precision)
U=digit*(1+precision)
LU2fra(L,U)
}

691:卵の名無しさん
18/08/25 17:23:40.06 bgFVf9KM.net
Twelve coins are numbered 123456789abc in hex.Balancing coins as follows, 0 denotes logically concluded regular coin. We can use logically concluded regular coins.
(1) 1234=5678 : 0000 0000 9abc
(2) 9ab=000 : 0000 0000 000c c cannot be regular.
(3) c<0 : 0000 0000 000c light
(3) c>0 : 0000 0000 000c heavy
(2) 9ab<000 : 0000 0000 9ab0
(3) 9=a : 0000 0000 00b0 light
(3) 9<a : 0000 0000 9000 light
(3) 9>a : 0000 0000 0a00 light
(2) 9ab>000 : 0000 0000 9ab0
(3) 9=a : 0000 0000 00b0 heavy
(3) 9<a : 0000 0000 0a00 heavy
(3) 9>a : 0000 0000 9000 heavy
(1) 1234<5678 : 1234 5678 0000
Take two light coins and one heavy coin on each dish of the balance
(2) 125=346 : 0000 0078 0000
(3) 7=0 : 0000 0008 0000 heavy
(3) 7>0 : 0000 0070 0000 heavy 7 cannot be in light group
(2) 125<346 : 1200 0600 0000 3,4,and 5 cannot be in both light and heavy group
Balance two coins in light group in (1) and (2),i.e. coin 1 and coin 2
(3) 1=2 : 0000 0600 0000 heavy
(3) 1<2 : 1000 0000 0000 light
(3) 1>2 : 0200 0000 0000 light
(2) 125>346 : 0034 5000 0000 1,2,and 6 cannot ben in both light and heavy group
(3) 3=4 : 0000 5000 0000 heavy
(3) 3<4 : 0030 0000 0000 light
(3) 3>4 : 0004 0000 0000 lihgt

692:卵の名無しさん
18/08/25 17:24:44.77 bgFVf9KM.net
(1) 1234>5678 : 1234 5678 0000
Take two heavy coins and one light coin on each dish of the balance
(2) 125=346 : 0000 0078 0000
(3) 7=0 : 0000 0008 0000 light
(3) 7>0 : 0000 0070 0000 light 7 cannot be in heavy group
(2) 125>346 : 1200 0600 0000 3,4,and 5 cannot be in both heavy and light group
Balance two coins in heavy group in (1) and (2),i.e. coin 1 and coin 2
(3) 1=2 : 0000 0600 0000 light
(3) 1<2 : 1000 0000 0000 heavy
(3) 1>2 : 0200 0000 0000 heavy
(2) 125<346 : 0034 5000 0000 1,2,and 6 cannot ben in both heavy and light group
Balance two coins in heavy group in (1) and (2),i.e. coin 3 and coin 4
(3) 3=4 : 0000 5000 0000 light
(3) 3<4 : 0030 0000 0000 heavy
(3) 3>4 : 0004 0000 0000 lihgt

693:卵の名無しさん
18/08/25 17:56:54.86 LIvDy2Gd.net
6789>abcd
6789<abcd
same as the case with12 coins
(1)6789=abcd 12345 iregular
(2)12=30 45 irregular
(3)4=0 5 irregular
(3)4<0 4 light
(3)4>0 4 heavy
(2)12<30
(3)1=2 3 heavy
(3)1<2 1 light
(3)1>2 2 light
(2)12>30
(3)1=2 3 light
(3)1<2 2 heavy
(3)1>2 1heavy

694:卵の名無しさん
18/08/25 22:00:35.12 LIvDy2Gd.net
deci2frac <- function(x,precision=1e-5){
ae=abs(x*precision)
#accepted error
d=Inf
k=1
while(d>ae){
y=(ifelse(abs(floor(k*x)/k-x) < abs(floor(k*x+1)/k-x),floor(k*x),floor(k*x+1)))
z=y/k
d=abs(x-z)
k=k+1
}
cat(y,'/',k-1,' ',z,'\n')
invisible(c(y,k-1,z))
}
> deci2frac(0.333,precision = 0.01)
1 / 3 0.3333333333333333>
> deci2frac(pi,precision = 10^-7)
355 / 113 3.141592920353983>
> deci2frac(sqrt(2),p=1e-10)
114243 / 80782 1.414213562427273>
> deci2frac(exp(1),1e-8)
20504 / 7543 2.718281850722524>
> exp(1)
[1] 2.718281828459045
>

695:卵の名無しさん
18/08/26 22:49:12.10 o/OlEQv4.net
#include<stdio.h>
void hanoi(int n,char *a,char *b,char *c){
if(n>=1){
hanoi(n-1,a,c,b);
printf("%s から %s へ移す\n",a,c);
/* printf("%d を %s から %s へ移す\n",n,a,c); */
hanoi(n-1,b,a,c);
}
}
void main(int argc,char *argv[]){
int i;
i=atoi(argv[1]);
hanoi(i,argv[2],argv[3],argv[4]);
}

696:卵の名無しさん
18/08/26 23:31:28.09 o/OlEQv4.net
hanoi <- function(n,a='A',b='B',c='C'){
if(n > 0){
Recall(n-1,a,c,b)
cat('move',n,'from',a,' to ',c,'\n')
Recall(n-1,b,a,c)
}
}
options(digits=16)
(2^64-1)/365.2425/24/60/60
library(Rmpfr)
mpfr((2^64-1)/365.2425/24/60/60,1024)
mpfr((2^100-1)/365.2425/24/60/60,1024)

697:卵の名無しさん
18/08/27 22:12:09.93 dp8t1y8e.net
gcd <- function(a,b){
r=a%%b
if(!r) return(b)
gcd(b,r)
}
gcd(18,48)

698:卵の名無しさん
18/08/28 13:27:10.91 tep78gti.net
let rec fact n = if n = 0 then 1 else n * fact (n - 1);;
let rec rms(m,n) = if m=n then fact(m) else if m=1 then 1 else m*rms(m,n-1)+ m*rms(m-1,n-1);;

699:卵の名無しさん
18/08/28 13:41:44.63 tep78gti.net
let rec fact n = if n = 0 then 1 else n * fact (n - 1);;
let rec rms(m,n) = if m=n then fact(m) else if m=1 then 1 else m*rms(m,n-1)+ m*rms(m-1,n-1);;
let ways = rms(int_of_string Sys.argv.(1),int_of_string Sys.argv.(2));;
print_int ways;;

700:卵の名無しさん
18/08/28 16:09:37.85 tep78gti.net
(* nCr = nCr-1 * (n - r + 1) / r *)
let rec nCr(n,r) = if r=0 then 1 else nCr(n,r-1)*(n-r+1)/r;;
(* nCr = n-1Cr-1 + n-1Cr *)
let rec nCr(n,r) = if(n=r || r=0) then 1 else if (n=0 || r> n) then 0 else nCr(n-1,r-1)+ nCr(n-1,r);;

701:卵の名無しさん
18/08/28 16:58:59.85 tep78gti.net
let rec hanoi(n,a,b,c) = if n=1 then print_string("move "^string_of_int(n)^" from "^a^" to "^c^"\n")
else begin
hanoi(n-1,a,c,b);
print_string("move "^string_of_int(n)^" from "^a^" to "^c^"\n");
hanoi(n-1,b,a,c);
end;;
let() = hanoi(int_of_string Sys.argv.(1),Sys.argv.(2),Sys.argv.(3),Sys.argv.(4));;
(* Note ; not ;; between begin and end, begin and end can be ( and ).
to compile
ocamlc.opt -o hanoi.exe hanoi.ml
to execute
hanoi 5 A B C
*)

702:卵の名無しさん
18/08/28 20:20:56.13 ajSYk/Fw.net
let rec facti (n, a) = if n = 0 then a else facti (n - 1, a * n);;
let fact m = facti(m,1);;
fact 10;;
let fact n = let rec facti (n, a) = if n = 0 then a else facti (n - 1, a * n) in facti(n,1);;
fact 10;;

703:卵の名無しさん
18/08/28 20:32:41.05 ajSYk/Fw.net
let rec fibo (n, a1, a2) = if n = 0 then a1 else fibo (n - 1, a1 + a2, a1);;
let fibonacci m = fibo(m,1,0);;
fibonacci 10;;
let fibonacci n = let rec fibo (n, a1, a2) = if n = 0 then a1 else fibo (n - 1, a1 + a2, a1) in fibo (n, 1, 0) ;;
fibonacci 10;;

704:卵の名無しさん
18/08/30 19:17:52.91 9jLRmK1l.net
Ent <- function(P,Q){ # Expected number of trials P:winning Q:losing}
N=P+Q
re=numeric(Q+1)
for(i in 1:(Q+1)) re[i]=i*choose(Q,i-1)/choose(N,i-1)*P/(N-i+1)
return(sum(re))
# Σ[1,Q+1] i * Q!/Q-i+1! * N-i+1!/N! * P/N-i+1!
}
ent <- function(N,p){
P=p*N
Q=(1-p)*N
Ent(P,Q)
}

705:卵の名無しさん
18/08/30 19:18:16.71 9jLRmK1l.net
lottery_sim <- function(N,p,q,hit=1){ # N:lots, p:probability of winning
x=c(rep(1,N*p),rep(0,N*(1-p))) # q:price perlot, hit: hits required to win
win=0
try=0
while(win<hit){
n=length(x)
j=sample(n,1)
win = win + as.numeric(x[j]==1)
x=x[-j]
try=try+1
}
return(try*q)
}

706:卵の名無しさん
18/08/30 20:36:05.34 WRrKmlGk.net
draft
i=5
0011 Q/N*Q-1/N-1*P/N-2*P-1/N-3 * P-2/N-4
0101 Q/N*P/N-1*Q-1/N-2*P-1/N-3
0110
1001
1010
1100
N(N-1)(N-2)(N-3)(N-4)=choose(N,i)*factorial(i)

nPr=function(n,r) choose(n,r)*factorial(r)
i*choose(i-1,hit-1)*nPr(Q,i-hit)*nPr(P,hit)/nPr(N,i)

707:卵の名無しさん
18/08/30 21:07:37.62 WRrKmlGk.net
## Expected Number of Trials 2
# P:atari Q:hazure hit:atari needed to win
Ent2 <- function(P,Q,hit=1){
N=P+Q
nPr=function(n,r) choose(n,r)*factorial(r)
re=numeric(hit+Q)
for(i in hit:(hit+Q)) {
re[i]=i*choose(i-1,hit-1)*nPr(Q,i-hit)*nPr(P,hit)/nPr(N,i)
}
return(sum(re))
}

708:卵の名無しさん
18/08/30 21:08:07.53 WRrKmlGk.net
lottery_sim <- function(N,p,q,hit=1){ # N:lots, p:probability of winning
x=c(rep(1,N*p),rep(0,N*(1-p))) # q:price perlot, hit: hits required to win
win=0
try=0
while(win<hit){
n=length(x)
j=sample(n,1)
win = win + as.numeric(x[j]==1)
x=x[-j]
try=try+1
}
return(try*q)
}
lottery_sim(100,0.3,q=1,hit=3)
k=1e5
re3=replicate(k,lottery_sim(N=100,p=0.3,q=1000,hit=1))
summary(re3) ; hist(re3,col='lightblue',main='',freq=FALSE)
k=1e5
re6=replicate(k,lottery_sim(N=50,p=0.6,q=2000,hit=1))
summary(re6) ; hist(re6,col='pink', main='',freq=FALSE)

709:卵の名無しさん
18/08/31 12:51:45.85 F0nmV/5C.net
draft
√(1+x) = a + bx + cx2 + dx3 + ....
x = 0 , a=1
√(1+x) = (1 + bx + cx2 + dx3 + ....)(1 + bx + cx2 + dx3 + ....)
1 + x = 1 + 2bx + (b2+2c)x2 + (2d+2bc)x3 + ...
b=1/2
b2+2c=0, c=-1/8
2d+2bc=0,d=1/16
√(1+x) = 1+ x/2 -x2/8+ x3/16 + ....

710:卵の名無しさん
18/08/31 22:34:57.06 dQmojtaG.net
library(nleqslv)
Tetra <- function(O=c(1/2,sqrt(3)/6,sqrt(2/3)),A=c(0,0,0),B=c(1,0,0),C=c(cos(pi/3),sin(pi/3),0)){
fn <- function(x,O,A,B,C){
AO=A-O
BO=B-O
CO=C-O
HO=x[1]*AO+x[2]*BO+(1-x[1]-x[2])*CO
AB=B-A
AC=C-A
c(HO%*%AB,HO%*%AC)
}
fn1 <- function(x) fn(x,O,A,B,C)
x=nleqslv::nleqslv(c(1/3,1/3),fn1)$'x'
AO=A-O
BO=B-O
CO=C-O
HO=x[1]*AO+x[2]*BO+(1-x[1]-x[2])*CO
h=sqrt(sum(HO^2))
a=sqrt(sum((B-C)^2))
b=sqrt(sum((C-A)^2))
c=sqrt(sum((A-B)^2))
s=(a+b+c)/2
base=sqrt(s*(s-a)*(s-b)*(s-c))
V=1/3*base*h
return(V)
}
Tetra()
sqrt(2)/12

711:卵の名無しさん
18/08/31 23:55:29.75 dQmojtaG.net
gcd <- function(a,b) ifelse(!a%%b,b,gcd(b,a%%b))
gcd( 349163 ,7599867)

712:卵の名無しさん
18/09/02 17:21:50.04 D0qvH3Oi.net
#include<stdio.h>
#define N 5

int b[N];
void truth_table(int k){
int i;
if(k < N){
b[k] = 1;
truth_table(k+1);
b[k] = 0;
truth_table(k+1);
}
else{
for(i = 0;i < N; i++){
printf("%s ", b[i] ? "T " : "F ");
}
printf("\n");
}
}
int main(){
truth_table(0);
return 0;
}

713:卵の名無しさん
18/09/03 19:46:52.57 oknI78Sn.net
dec2nw <- function(num, N, digit = 4){
r=num%%N
q=num%/%N
while(q > 0 | digit > 1){
r=append(q%%N,r)
q=q%/%N
digit=digit-1
}
return(r)
}

714:卵の名無しさん
18/09/05 21:52:11.29 pWY0j8lL.net
man=800
woman=200
total=man+woman
pass=100
i=0:100
rr=1.2
sum((choose(man,i)*choose(woman,pass-i)/choose(total,pass))*(i/man > rr*(pass-i)/woman))

715:卵の名無しさん
18/09/06 11:08:11.14 H8UAdZU9.net
(choose(5,1)*(choose(1,0)*1^5 - choose(1,1)*0^5)*(choose(4,0)*4^5 - choose(4,1)*3^5 + choose(4,2)*2^5 - choose(4,3)*1^5 + choose(4,4)*0^5)
+choose(5,2)*(choose(2,0)*2^5 - choose(2,1)*1^5 + choose(2,2)*0^5)*(choose(3,0)*3^5 - choose(3,1)*2^5 + choose(3,2)*1^5 - choose(3,3)*0^5))*2

716:卵の名無しさん
18/09/06 22:00:40.50 aj5FUH/y.net
draft
5部屋 男5 女5 定員4 空室可 混合不可
m4 m1 f(3,5) choose(5,4)*choose(5,2)*2* f(3,5)
m3 m2 f(3,5) choose(5,3)*choose(5,2)*2* f(3,5)
m3 m1 m1 f(2,5) choose(5,3)*5*4*3* f(2,5)
m2 m2 m1 f(2,5) choose(5,2)*choose(3,2)*5*4*3*f(2,5)
f(3,5)
f4 f1 f0 3!*choose(5,4)
f3 f2 f0 3!*choose(5,3)
f3 f1 f1 3!choose(5,3)
f2 f2 f1 3!*choose(5,2)*choose(3,2)
f(2,5)
f4 f1 choose(5,4)*2
f3 f2 choose(5,3)*2

717:卵の名無しさん
18/09/07 14:53:17.74 a5V/3Sw3.net
# 5部屋 男5 女5 定員4 空室可 混合不可
# [117000,] 5 5 5 5 4 3 3 3 3 2
# m4 m1 3^5-3 5P2*5
# m3 m2 3^5-3 5P2*5C2
# m3 m1 m1 2^5-2 5C3*3*5!/3!
# m2 m2 m1 2^5-2 5C3*3*5!/2!/2!
5*4*5 *240
5*4*10 *240
10*3*5*4 *30
10*3*120/2/2 *30
5*4*5*240+5*4*10*240+10*3*5*4*30+10*3*120/2/2*30

718:卵の名無しさん
18/09/08 06:48:44.13 5Jdei1ET.net
library(gtools)
n=5 # rooms
m=5 # men
w=5 # women
cap=4 # capacity
perm=permutations(n=5,r=m+w,rep=T)
nomixcap2 <- function(x,vacancy=FALSE){
men = x[1:m]
women= x[(m+1):(m+w)]
if(any(men %in% women)) return(FALSE)
if(max(tabulate(x)) > cap) return(FALSE)
if(vacancy) return(TRUE)
if(!all(1:n %in% x)) return(FALSE) # if not(all room used)
return(TRUE)
}
revac=perm[,which(apply(perm,1,function(x)nomixcap2(x,vac=T)))]

719:卵の名無しさん
18/09/08 10:20:22.08 YKQ7uLEM.net
library(gtools)
n=5 # rooms
m=5 # men
w=5 # women
perm=gtools::permutations(n,r=m+w,rep=T)
mix <- function(x){
men = x[1:m]
women= x[(m+1):(m+w)]
if(!all(men %in% women)) return(FALSE)
else all(women %in% men))
}
revac=perm[,which(apply(perm,1,mix)))]

720:卵の名無しさん
18/09/08 12:53:31.19 cGu8TtfR.net
library(gtools)
n=5 # rooms
m=5 # men
w=5 # women
perm=gtools::permutations(n,r=m+w,rep=T)
mix <- function(x){
men = x[1:m]
women= x[(m+1):(m+w)]
if(!all(men %in% women)) return(FALSE)
all(women %in% men)
}
(x=perm[sample(1:5^10,1),])
mix(x)
re=perm[which(apply(perm,1,mix)),]
head(re)
tail(re)

721:卵の名無しさん
18/09/09 07:52:51.35 C6iRFzVv.net
k=20
pair=NULL
for(i in 1:k){
a=sort(rpois(2,7))
b=sort(rpois(2,7))
c=sum(a>b)
print(c(a=a,b=b,pair=c))
pair[i]=c
}
c(pair=pair)
hist(pair)

722:卵の名無しさん
18/09/09 22:17:25.84 +VpBquyc.net
k=20
pair=NULL
for(i in 1:k){
a=sort(rpois(2,7))
b=sort(rpois(2,7))
c=sum(a>b)
print(c(a=a,b=b,pair=c))
pair[i]=c
}
hist(pair)
pair=NULL
for(i in 1:k){
a=sort(rpois(2,7))
b=sort(rpois(2,7))
c=sum(a>b)
print(c(a=a,b=b,pair=c))
pair[i]=c
}
k=10000
pair=NULL
for(i in 1:k){
a=sort(jitter(rpois(2,7)))
b=sort(jitter(rpois(2,7)))
c=sum(a>b)
pair[i]=c
}
hist(pair,col='skyblue')

723:卵の名無しさん
18/09/09 22:36:16.30 +VpBquyc.net
# reverse' [] = []
# reverse' (x:xs) = reverse'(xs) ++ [x]
#
# main = do
# print $ reverse' [1..10]

reverse <- function(x){
if(!length(x)) return(NULL)
c(Recall(x[-1]),x[1])
}
cat(reverse(LETTERS[1:26]))

724:卵の名無しさん
18/09/10 14:53:39.38 40BngIEI.net
draft
rot13ch <- function(ch){
if('A' <= ch & ch <= 'M' ) LETTERS[which(x==LETTERS)+13]
if('a' <= ch & ch <= 'm' ) LETTERS[which(x==letters)+13]
if('N' <= ch & ch <= 'Z' ) LETTERS[which(x==LETTERS)-13]
if('n' <= ch & ch <= 'z' ) LETTERS[which(x==letters)-13]
else ch
}
rot13 <- function(x){
x=strsplit(x,NULL)
re=NULL
while(!length(x)){
re=append(re,rot13ch(x[1]))
x=x[-1]}
return(re)
}

(hello13 = rot13 ("Uraguchi!"))
print(rot13( hello13))

725:卵の名無しさん
18/09/10 15:06:30.76 40BngIEI.net
draft2
rot13ch<- function(x){
if('A' <= x & x <= 'M' ) re=LETTERS[which(x==LETTERS)+13]
if('a' <= x & x <= 'm' ) re=letters[which(x==letters)+13]
if('N' <= x & x <= 'Z' ) re=LETTERS[which(x==LETTERS)-13]
if('n' <= x & x <= 'z' ) re=letters[which(x==letters)-13]
else re=x
return(re)
}
rot13ch('j')

rot13 <- function(x){
x=strsplit(x,NULL)
re=NULL
while(!length(x)){
re=append(re,rot13x(x[1]))
x=x[-1]}
return(re)
}

726:卵の名無しさん
18/09/10 16:11:10.56 40BngIEI.net
draft 3
rot13ch<- function(x){
if('A' <= x & x <= 'M' ) re=LETTERS[which(x==LETTERS)+13]
else
if('a' <= x & x <= 'm' ) re=letters[which(x==letters)+13]
else
if('N' <= x & x <= 'Z' ) re=LETTERS[which(x==LETTERS)-13]
else
if('n' <= x & x <= 'z' ) re=letters[which(x==letters)-13]
else re=x
return(re)
}
rot13 <- function(str){
x=unlist(strsplit(str,NULL))
re=NULL
while(!length(x)){
re=append(re,rot13ch(x[1]))
x=x[-1]}
return(re)
}
str="Uraguchi!"
rot13(str)

727:卵の名無しさん
18/09/10 18:57:39.99 V03Ln2wY.net
Gacha <- function(p){ # p: probability of each Gacha item
p=p/sum(p)
sum.rev <- function(x){ # i,j,k -> 1/(p[i]+p[j]+p[k])
n=length(x)
s=numeric(n)
for(i in 1:n) s[i]=p[x[i]]
1/sum(s)
}
n=length(p)
re=numeric(n)
for(i in 1:n) re[i]=(-1)^(i-1)*sum(apply(combn(n,i),2,sum.rev))
sum(re)
}
Gacha(1:4/10)
Gacha(c(1/10,rep(9/50,5)))
#
sim <- function(p){
p=p/sum(p)
n=length(p)
y=NULL
while(!all(1:n %in% y)){
y=append(y,sample(1:n,1,prob=p))
}
return(length(y))
}
mean(replicate(1e4,sim(1:4)))
Gacha(1:4)
mean(replicate(1e5,sim(c(9,9,9,9,9,5))))
Gacha(c(9,9,9,9,9,5))

728:卵の名無しさん
18/09/10 20:37:33.27 YF8r2q2P.net
1万回のシミュレーション
> mean(replicate(1e4,sim(1:10)))
[1] 68.7788
理論値
> Gacha(1:10)
[1] 68.98458

729:卵の名無しさん
18/09/11 13:14:50.53 DPX9K4Dn.net
Gacha.fm <- function(p,write=FALSE){
n=length(p)
par=letters[1:n]
fm <- function(v){
nv=length(v)
re=character(nv)
for(j in 1:nv) re[j]=par[v[j]]
s=paste(re,collapse='+')
if(nv==1) paste0('1/',s)
else paste0('1/(',s,')')
}
fm1 <- function(mat){
paste(apply(mat,2,fm),collapse='+')
}
re=list()
for(i in 1:n) re[[i]]=fm1(combn(n,i))
re1=re[[1]]
re1
for(i in 2:(n-1)){
re1=c(re1,ifelse(i%%2,' + ',' - '),'(',re[[i]],')')
}
output=c(paste(re1,collapse=""),ifelse(n%%2,'+','-'), re[[n]])
cat(output,'\n')
if(write) write(output,'output.txt')
invisible(output)
}
Gacha.fm(c(1/10,2/10,3/10,4/10))
Gacha.fm(c(9/50,9/50,9/50,9/50,9/50,5/10))

730:卵の名無しさん
18/09/11 13:15:42.26 DPX9K4Dn.net
Gacha.fm <- function(p,write=FALSE){
n=length(p)
par=letters[1:n]
fm <- function(v){
nv=length(v)
re=character(nv)
for(j in 1:nv) re[j]=par[v[j]]
s=paste(re,collapse='+')
if(nv==1) paste0('1/',s)
else paste0('1/(',s,')')
}
fm1 <- function(mat){
paste(apply(mat,2,fm),collapse='+')
}
re=list()
for(i in 1:n) re[[i]]=fm1(combn(n,i))
re1=re[[1]]
re1
for(i in 2:(n-1)){
re1=c(re1,ifelse(i%%2,' + ',' - '),'(',re[[i]],')')
}
output=c(paste(re1,collapse=""),ifelse(n%%2,'+','-'), re[[n]])
cat(output,'\n')
if(write) write(output,'output.txt')
invisible(output)
}
Gacha.fm(c(1/10,2/10,3/10,4/10))
Gacha.fm(c(9/50,9/50,9/50,9/50,9/50,5/10))

731:卵の名無しさん
18/09/12 17:03:31.45 +rWfu75u.net
draft
insert <- function(x,yys){
if(!length(yys)) return x
else {
y=yy[1]
ys=yys[-1]
if(x<y) return c(x,y,ys)
else c(y, Recall(x,ys))
}
}
isort <- function(xxs){
if(!length(xxs)) return NULL
else{
x=xxs[1]
xs=xxs[-1]
insert(x,Recall(xs))
}
isort(c(4, 6, 9, 8, 3, 5, 1, 7, 2))

732:卵の名無しさん
18/09/12 17:41:27.26 MBeBhzv/.net
insert <- function(x,y){
if(!length(y)) return(x)
if(x<y[1]) return(c(x,y))
return(c(y[1], Recall(x,y[-1])))
}
isort <- function(x){
if(!length(x)) return(NULL)
insert(x[1],Recall(x[-1]))
}
isort(c(4, 6, 9, 8, 3, 5, 1, 7, 2))

733:卵の名無しさん
18/09/12 20:36:00.82 +rWfu75u.net
bsort <- function(x){
if(!length(x)) return(NULL)
if(length(x)==1) return(x)
else{
y=bsort(x[-1])
ifelse(x[1]<y[1],c(x[1],y),c(y[1],bsort(c(x[1],y[-1])



734:} } bsort(c(3,1,4,1,5,9,2,6,5)



735:卵の名無しさん
18/09/13 07:37:31.93 ha3KPNlb.net
sim2 <- function(p){
n=length(p) # number of items
if(sum(p)>=1){ # no blank and/or rate of probabilities
prob=p/sum(p) # scaling for sum(prob)=1
lot=1:n # no blank lot
}else{
prob=c(p,1-sum(p)) # blank with probability of 1-sum(p)
lot=1:(n+1) # lot[n+1] blank lot
}
y=NULL
count=0
while(length(y)<n){
z=sample(lot,1,prob=prob)
count=count+1
if(!any(z==y)) y=append(y,z) # append new item only
}
return(count)
}

736:卵の名無しさん
18/09/13 08:15:32.46 ha3KPNlb.net
p=c(9,9,9,9,9,5)/50
n=length(p)
seg=cumsum(p)
p
seg
x=runif(1)
x
x > seg
k=numeric(n)
k | (x > seg)

737:卵の名無しさん
18/09/13 08:35:57.43 ha3KPNlb.net
p=c(9,9,9,9,9,5)/50
n=length(p)
seg=cumsum(p)
count=0
k=numeric(n)
while(k<2^n-1){
x=runif(1)
k | (x > seg)
k=k | (x > seg)
count=count+1
}
count

738:卵の名無しさん
18/09/13 11:52:48.72 vlGxfg9U.net
sim1 <- function(p){
n=length(p)
sep=cumsum(p)
y=NULL
count=0
while(length(y) < n){
z=sample(1:n,1,prob=p)
if(!any(z==y)) y=append(y,z) # append new item only
count=count+1
}
return(count)
}
sim3 <- function(p){
n=length(p)
sep=cumsum(p)
y=NULL
count=0
while(length(y) < n){
z=sum(runif(1) < sep)
if(!any(z==y)) y=append(y,z) # append new item only
count=count+1
}
return(count)
}
p=c(9,9,9,9,9,5)/50
system.time(mean(replicate(1e4, sim1(p))))
system.time(mean(replicate(1e4, sim3(p))))

739:卵の名無しさん
18/09/13 19:14:06.79 ha3KPNlb.net
qsort [] = []
qsort (n:xs) = qsort lt ++ [n] ++ qsort gteq
where
lt = [x | x <- xs, x < n]
gteq = [x | x <- xs, x >= n]
main = do print $ qsort [4, 6, 9, 8, 3, 5, 1, 7, 2]

740:卵の名無しさん
18/09/14 07:47:53.11 IOEu7JkF.net
foo <- function(a,b,c){
gr=expand.grid(1:a,1:b)
c2=(1:c)^2
f = function(x,y) (x<y) & (x^2+y^2) %in% c2
i=which(mapply(f,gr[,1],gr[,2]))
ab=as.matrix(gr[i,])
cbind(ab,sqrt(ab[,1]^2+ab[,2]^2))
}
foo(20,20,20)
a=20;b=20;c=20
gr=expand.grid(1:a,1:b,1:c)
f = function(a,b,c) a<b & a^2+b^2==c^2
i=which(mapply(f,gr[,1],gr[,2],gr[,3]))
gr[i,]

741:卵の名無しさん
18/09/14 08:01:47.72 IOEu7JkF.net
foo <- function(a,b,c){
gr=expand.grid(1:a,1:b)
c2=(1:c)^2
f = function(x,y) (x<y) & (x^2+y^2) %in% c2
i=which(mapply(f,gr[,1],gr[,2]))
ab=as.matrix(gr[i,])
cbind(ab,sqrt(ab[,1]^2+ab[,2]^2))
}
foo(20,20,20)
foo(100,100,100)
a=20;b=20;c=20
fooo <- function(a,b,c){
gr=expand.grid(1:a,1:b,1:c)
f = function(a,b,c) a<b & a^2+b^2==c^2
i=which(mapply(f,gr[,1],gr[,2],gr[,3]))
gr[i,]
}
fooo(20,20,20)
fooo(100,100,100)

742:卵の名無しさん
18/09/14 09:51:33.26 pDMF5zq8.net
#include<stdio.h>
#include<stdlib.h>
int pit(int A,int B, int C){
int a,b,c; int pit=0;
for(a=1;a<=A;a++){
for(b=a;b<=B;b++){
for(c=b;c<=C;c++){
if((a<b) && (a*a+b*b==c*c)) {
++pit;
printf("%d : %d * %d + %d * %d = %d * %d\n",pit,a,a,b,b,c,c);
}
}
}
}
return 0;
}
int main( int argc, char *argv[] ){
int a,b,c;
a = atoi(argv[1]);
b = atoi(argv[2]);
c = atoi(argv[3]);
pit(a,b,c);
return 0;
}

743:卵の名無しさん
18/09/15 09:37:12.07 LVUNnMZD.net
とある会社の社長は毎日午後5時に会社を出て自宅からの迎えのクルマに乗って帰る。
ある日、午後4時に退社した。
天気が良かったので、迎えのクルマに出会うまで散歩した。
出会ったところで、クルマはUターンして自宅に戻った。
するといつもより10分早く帰宅した。
何時何分にクルマに出会ったか?
URLリンク(cybozushiki.cybozu.co.jp)
尚、迎えの車は5時に会社に到着するように自宅を出発し行きも帰りも等速走行を仮定する。

744:卵の名無しさん
18/09/15 18:48:34.28 LVUNnMZD.net
診療所から病院に患者を救急搬送する。
病院から救急車が診療所に向かっており10時到着予定と連絡が入った。
患者が9時に急変したため診療所の普通車で病院に向かって救急車と出会ったら救急車に患者を移して


745:搬送し病院到着を早めることになった。当然、救急車の方が速く走れる。 9時50分に救急車に乗り移ることができた。 病院到着は予定より何分早まるか述べよ。 乗り換えに要する時間は0とする。



746:卵の名無しさん
18/09/15 22:29:13.55 LVUNnMZD.net
>>490
一般化してみた。
歩行時間:t
歩行距離:l
迎えの車速:rv
同乗の車速:v
出発時刻差:s
到着時刻差:X
通常走行時間:d/rv+d/v
早退時走行時間:(d-l)/rv+(d-l)/v
d/rv+d/v - ((d-l)/rv+(d-l)/v)= X
l (r + 1)/rv=X
l/v=X*r/(r+1)
s0+s+d/v - {s0+t+(d-l)/v}= X
s-t+l/v=X
X=(r + 1) (s - t)
t = s - X / (r+1)

747:卵の名無しさん
18/09/16 18:25:50.55 MIF83oNx.net
# include<stdio.h>
# include <stdlib.h>
# define N 10
int a[N + 1], key;
int search(int a[],int key,int i);
int main(int argc, char *argv[])
{
int a[]= {0,1,2,3,4,5,6,7,8,9};
key = atoi(argv[1]);
a[N]=key;
if (search(a, key ,0) < N) {
printf("Found!\n");
}
else{
printf("Not Found!\n");
}
}
int search(int a[], int key, int i)
{
if(a[i]==key){
return i;
}
return search(a,key,++i);
}

748:卵の名無しさん
18/09/16 19:43:53.55 MIF83oNx.net
# 歩行時間:t
# 歩行速度:w
# 迎えの車速:v0
# 同乗の車速:v1
# 出発時刻差:s
# 到着時刻差:X
# l=wt
# 通常走行時間:d/v0+d/v1
# 早退時走行時間:(d-wt)/v0+(d-wt)/v1
# d/v0+d/v1 - ((d-wt)/v0+(d-wt)/v1)= X
# wt(1/v0+1/v1) = X
#
# s0+s+d/v1 - {s0+t+(d-wt)/v1}= X
# s - t(1-w/v1) = X
#
s = t + wt/v0
t = sv0/(v0+w)
X = tw(1/v0+1/v1) = sv0/(v0+w)*w(1/v0+1/v1)

749:卵の名無しさん
18/09/16 21:14:22.32 MIF83oNx.net
# The ambulance arrives X hours ealier at hospital,
# when the patient leave clinic s hours earlier than planned
# and encounter the ambulance t hours later,
# ambulance runs with the velocity of v0 without patient, and v1 with patient
# clinic car runs with the velocity of w

Earlier <- # s hour earlier departure, X hour earlier arrival
function(s=NULL,X=NULL,t=NULL,v0=60,v1=45,w=30){
if(is.null(s)) re=c(s=X/(v0/(v0+w)*w*(1/v0+1/v1)),t=X/w/(1/v0+1/v1))
if(is.null(X)) re=c(X=s*v0/(v0+w)*w*(1/v0+1/v1),t=s*v0/(v0+w))
if(!is.null(t)) re=c(s=t + t*w/v0, X = t*w*(1/v0+1/v1))
return(re)
}
Earlier(X=10/60)*60
Earlier(s=30/60)*60
Earlier(t=30/60)*60

750:卵の名無しさん
18/09/17 08:24:17.97 Oiy+BYJP.net
こういう計算ができるとdoor to balloon timeが短縮できるから臨床医に必要な能力だな。

診療所から病院に患者を救急搬送する。
病院から医師搭乗の救急車が診療所に向かっており10時到着予定と連絡が入った。
患者の病態が悪化したら、診療所の普通車で病院に向かい救急車と出会ったら
救急車に患者を移して搬送し病院到着を急ぐという計画を立てた。
普通車から救急車への患者の乗り換えで10分余分に時間がかかる。
道路事情から病院から診療所への道は
平均時速60kmで、逆方向は平均時速45kmで定速走行する。診療所の普通車は信号待ちもあり平均時速30kmで定速走行する。
何時以降の病態悪化は診療所の車を使わずに救急車の到着を待つ方が病院に早く着くか?

751:卵の名無しさん
18/09/17 08:25:24.95 Oiy+BYJP.net
こういう計算ができるとdoor to balloon timeが短縮できるから臨床医に必要な能力だな。

診療所から病院に患者を救急搬送する。
病院から医師搭乗の救急車が診療所に向かっており10時到着予定と連絡が入った。
患者の病態が悪化したら、診療所の普通車で病院に向かい救急車と出会ったら
救急車に患者を移して搬送し病院到着を急ぐという計画を立てた。
普通車から救急車への患者の乗り換えで10分余分に時間がかかる。
道路事情から救急車は病院から診療所への道は
平均時速60kmで、逆方向は平均時速45kmで定速走行する。診療所の普通車は信号待ちもあり平均時速30kmで定速走行する。
何時以降の病態悪化は診療所の車を使わずに救急車の到着を待つ方が病院に早く着くか?

752:卵の名無しさん
18/09/17 20:23:03.24 cb+FssaI.net
診療所から病院に患者を救急搬送する。
病院から救急車が診療所に向かっており10時到着予定と連絡が入った。
患者が9時に急変したため診療所の普通車で病院に向かって救急車と出会ったら救急車に患者を移して搬送し病院到着を早めることになった。救急車の方が速く走れる。
9時50分に救急車に乗り移ることができた。
病院到着は予定より何分早まるか述べよ。
車は定速走行とし、乗り換えに要する時間は考慮しない。

753:卵の名無しさん
2018/09/1


754:7(月) 22:45:36.98 ID:cb+FssaI.net



755:卵の名無しさん
18/09/17 22:46:00.21 cb+FssaI.net
# while loop version for dec2n
dec2nw <- function(num, N, digit = 4){
r=num%%N
q=num%/%N
while(q > 0 | digit > 1){
r=append(q%%N,r)
q=q%/%N
digit=digit-1
}
return(r)
}

756:卵の名無しさん
18/09/18 01:40:12.09 jA0T/PMd.net
URLリンク(www.tutorialspoint.com)

757:卵の名無しさん
18/09/18 06:21:30.53 jA0T/PMd.net
>>701
URLリンク(tpcg.io)

758:卵の名無しさん
18/09/18 07:43:40.10 jA0T/PMd.net
#include<stdlib.h>
#define N 5
int b[N];
//char * u[] = {"0","1","2","3","4"};
char * u[] = {"志学","而立","不惑","知命","耳順","従心"};
void fill(int k){
int i,j;
if(k < N){
for(i=0;i<N;i++){
for(j=0; j < k && b[j]!=i; j++);
;
if(j==k){
b[k] = i;
fill(k+1);
}
}
}
else{
for(i = 0;i < N; i++){
printf("%s ", u[b[i]] );
}
printf("\n");
}
}
int main(){
printf("all around\n");
fill(0);
return 0;
}

759:卵の名無しさん
18/09/19 22:38:29.64 Eiqd7mE7.net
draft
is.sorted <- function(x){
if(length(x)==1) return(TRUE){
else{
if(x[1]<=x[2]) is.sort(x[-1]){
else return(FALSE)
}
}
}

760:卵の名無しさん
18/09/19 22:44:21.96 QK/Jo93v.net
is.sorted <- function(x){
if(length(x)==1){ return(TRUE)
}else{
if(x[1]<=x[2]) is.sorted(x[-1])
else return(FALSE)
}
}

761:卵の名無しさん
18/09/20 20:45:13.64 iA1AjZuZ.net
ニューロン治療できる医療大麻オイルの紹介
URLリンク(plaza.rakuten.co.jp)
ニューロン=人工知能のモデルとなっている神経細胞のやりとりするところ
この細胞の伝達する場所に大麻受容体があります この受容体を通って治療効果を得る大麻を医療大麻と呼びます
人間に大麻受容体があったなんて不思議ですよね

762:卵の名無しさん
18/09/22 08:25:11.10 5EtHM4o7.net
>>711 は国試に23回も落ちてて
くるくるぱーの裏口バカに
なっちゃってるのらぁあぁぁ
Fラン事務員の濃ゆぅぅい生ガキ汁
ド底辺の臭いが落ちないよぉ
んほおぉぉぉおぉぉ

763:卵の名無しさん
18/09/22 08:33:45.20 zrIlwkkB.net
>>713
>711って再帰呼び出ししているけど何をするスクリプトかわかる?

764:卵の名無しさん
18/09/22 13:39:33.84 NI3pjyOo.net
#include<stdio.h>
#include<stdlib.h>
#define N 8
#define W 2*N-1
int b[N],row[N],up[W],down[W],count=0;
void fill(int k){
int i,j;
if(k < N){
for(i=0;i<N;i++){
if(!row[i] && !up[i+k] && !down[i-k+N-1]){
b[k] = i;
row[i]=up[i+k]=down[i-k+N-1]=1;
fill(k+1);
row[i]=up[i+k]=down[i-k+N-1]=0;
}
}
}
else{
printf("# %2d\n",++count);
for(i =0; i < N; i++){
for(j = 0; j < N; j++){
if(b[i] == j) printf(" Q ");
else printf(" ・ ");
}
printf("\n");
}
}
}
int main(){
fill(0);
return 0; }

765:卵の名無しさん
18/09/22 21:34:00.39 zrIlwkkB.net
#


766:include <stdio.h> int arr[] ={1,2,3,4,5}; int total = (sizeof(arr) / sizeof(arr[0])); void heapify(int arr[], int i) { int lft = i * 2; int rgt = lft + 1; int grt = i; if (lft <= total && arr[lft] > arr[grt]) grt = lft; if (rgt <= total && arr[rgt] > arr[grt]) grt = rgt; if (grt != i) { int tmp=arr[grt]; arr[grt]=arr[i]; arr[i]=tmp; heapify(arr, grt); } } int main(){ heapify(arr,0); for (int i = 0; i < total; i++) printf("%d ", arr[i]); printf("\n"); }



767:卵の名無しさん
18/09/23 18:58:09.75 edPyfcCi.net
library(gtools)
k=3
perm=unique(permutations(3*k,3*k,rep(1:3,k),set=F,rep=F))
is3 <- function(x){
n=length(x)
y=c(x,x[1])
re=NULL
for(i in 1:(n-1)) re[i]=all((1:3) %in% y[i:(i+2)])
any(re)
}
i=(!apply(perm, 1, is3))
perm1=perm[i,]
r1 <- function(x){ # rotate by one bead
n=length(x)
y=numeric(n)
y[1]=x[n]
for(i in 1:(n-1)){
y[i+1]=x[i]
}
return(y)
}
rn <- function(x){ # every rotation
n=length(x)
mat=matrix(rep(NA,n^2),ncol=n)
mat[,1]=x
for(i in 1:(n-1)){
mat[,i+1]=r1(mat[,i])
}
return(t(mat))
}

768:卵の名無しさん
18/09/23 18:58:40.06 edPyfcCi.net
same <- function(x,base){
f=function(a,b=base){ # is equal to base
all(a==b)
}
mat=rbind(rn(x),rn(rev(x))) # rotation and/or symmetric conversion
any(apply(mat,1,f))
}
mat=perm1
tail(perm1)
exvar <- function(row,mat=perm1){
var=rn(mat[row,])
n.var=nrow(var)
idx=NULL
for(i in 1:n.var){
idx=c(idx,which(apply(mat,1,function(x) same(x,var[i,]))))
}
min(idx)
}
index=sapply(1:nrow(perm1),exvar) # several minutes for k=3
re=perm1[unique(index),]
re
print(matrix(c("赤","白","青")[re],ncol=3*k),quote=F)

769:卵の名無しさん
18/09/24 16:11:21.71 cwdsebwG.net
same <- function(x,base){
f=function(a,b=base){ # is equal to base
all(a==b)
}
mat=rbind(rn(x),rn(rev(x))) # rotation and/or symmetric conversion
any(apply(mat,1,f))
}

mat=perm1
core=NULL # 基本解を集める行列
while(nrow(mat)){
var=rn(mat[1,]) # matの先頭行のバリアント
n.var=nrow(var)
idx=NULL # 先頭行とそのバリアントのindex
for(i in 1:n.var){ # 先頭行およびバリアント行のindexを返す
idx=c(idx,which(apply(mat,1,function(x) same(x,var[i,]))))
}
i=sort(unique(idx))
core=rbind(core,mat[i[1],])
mat=mat[-i,] # 一度、検討した行と同一相当行を除いたmatで再評価に回す
}
core
print(matrix(c("赤","白","青")[core],ncol=3*k),quote=F)

770:卵の名無しさん
18/09/24 20:26:43.18 cwdsebwG.net
library(compiler)
cuniq=cmpfun(unique)
jperm <- function(n,r,v) {
if (r == 1)
matrix(v, n, 1)
else if (n == 1)
matrix(v, 1, r)
else {
X <- NULL
for (i in 1:n) X <- rbind(X, cbind(v[i], jperm(n - 1, r - 1, v[-i])))
cuniq(X)
}
}
cjperm=cmpfun(jperm)
v=rep(1:3,4)
n=r=length(v)
perm4=cjperm(n,r,v)

771:卵の名無しさん
18/09/24 20:44:38.00 cwdsebwG.net
#include<stdio.h>
#define N 6
int b[N];
char * u[] = {"P","E","P","P","E","R"};
void p_table(int k){
int i;
if(k < N){
for(i=0;i<N;i++){
b[k] = i;
p_table(k+1);
}
}
else{
for(i = 0;i < N; i++){
printf("%s ", u[b[i]] );
}
printf("\n");
}
}
int main(){
p_table(0);
return 0;
}

772:卵の名無しさん
18/09/24 21:05:06.98 cwdsebwG.net
// URLリンク(www.geeksforgeeks.org)
// Program to print all permutations of a string in sorted order.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
/* Following function is needed for library function qsort(). */
int compare(const void *a, const void * b)
{
return ( *(char *)a - *(char *)b );
}
// A utility function two swap two characters a and b
void swap(char* a, char* b)
{
char t = *a;
*a = *b;
*b = t;
}

773:卵の名無しさん
18/09/24 21:05:27.97 cwdsebwG.net
// This function finds the index of the smallest character


774: // which is greater than 'first' and is present in str[l..h] int findCeil(char str[], char first, int l, int h) { // initialize index of ceiling element int ceilIndex = l; // Now iterate through rest of the elements and find // the smallest character greater than 'first' for (int i = l+1; i <= h; i++) if (str[i] > first && str[i] < str[ceilIndex]) ceilIndex = i; return ceilIndex; }



775:卵の名無しさん
18/09/24 21:05:44.12 cwdsebwG.net
// Print all permutations of str in sorted order

void sortedPermutations(char str[])
{
// Get size of string
int size = strlen(str);
// Sort the string in increasing order
qsort(str, size, sizeof( str[0] ), compare);
// Print permutations one by one
bool isFinished = false;
while (!isFinished)
{
// print this permutation
static int x = 1;
printf("%d %s \n", x++, str);
// Find the rightmost character which is smaller than its next
// character. Let us call it 'first char'
int i;
for (i = size - 2; i >= 0; --i)
if (str[i] < str[i+1])
break;

776:卵の名無しさん
18/09/24 21:06:30.92 cwdsebwG.net
// If there is no such chracter, all are sorted in decreasing order,
// means we just printed the last permutation and we are done.
if (i == -1)
isFinished = true;
else
{
// Find the ceil of 'first char' in right of first character.
// Ceil of a character is the smallest character greater than it
int ceilIndex = findCeil(str, str[i], i + 1, size - 1);
// Swap first and second characters
swap(&str[i], &str[ceilIndex]);
// Sort the string on right of 'first char'
qsort(str + i + 1, size - i - 1, sizeof(str[0]), compare);
}
}
}
// Driver program to test above function
int main()
{
char str[] = "";
sortedPermutations( str );
return 0;
}

777:卵の名無しさん
18/09/26 11:07:08.91 Rj8Wp2L9.net
b=0
w=1
bwb=function(x){
n=length(x)
if(n<3) return(F)
else x[n-2]==b & x[n-1]==w & x[n]==b
}
f = function(){
x=NULL
while(!bwb(x)){
x=c(x,sample(c(b,w),1,prob=c(0.2,0.8)))
}
c(W=sum(x==w),B=sum(x==b))
}
re=replicate(1e4,f())
mean(re[1,])
mean(re[2,])

778:卵の名無しさん
18/09/26 22:08:29.29 +zbP8/80.net
library(Rmpfr)
f <- function(NN,prec=1000){
for(k in 1:NN){
for(m in k:NN){
for(n in m:NN){
K=mpfr(factorial(k),prec)
M=mpfr(factorial(m),prec)
N=mpfr(factorial(n),prec)
if(K+M==N) cat(k,'! + ',m,'! = ',n,'!\n')
}
}
}
}
try(f(100))

779:卵の名無しさん
18/10/02 21:03:43.40 DMIGI67G.net
print $ foldr (-) 0 [1,2,3]
print $ foldr (-) 0 ( 1:(2:(3:[])) )
print $ 1-(2-(3-0))

780:卵の名無しさん
18/10/02 22:17:49.03 DMIGI67G.net
elem_r y ys = foldr (\x acc -> if x==y then True else acc) False ys
elem_r 39 [3.6..]

elem_l y ys = foldl(\acc x -> if x==y then True else acc) False ys
{- ERROR!!
elem_l 39 [3,6..]

781:卵の名無しさん
18/10/03 13:45:16.24 OGYXL17c.net
map' f xs = foldr (\x acc -> f x:acc) [] xs
elem_r y ys = foldr (\x acc -> if x==y then True else acc) False ys
elem_l y ys = foldl(\acc x -> if x==y then True else acc) False ys
main = do
print $ zipWith (\x y -> (x*30+3)/y) [5,4,3,2,1] [1..5]
print $ map (\(a, b) -> a+b) [(1,2),(3,5),(6,3),(2,6),(2,5)]
print $ zipWith (flip (++)) ["love you","is an angel"] ["I ","Mei "]
print $ map (flip subtract 20) [1..5]
print $ foldl (\a b -> a+b) 0 [3,5,2,1]
print $ foldl (-) 0 [1,2,3]
print $ ((0-1)-2)-3
print $ foldr max 0 [1,2,3]
print $ 1 `max` (2 `max`(3 `max` 0))
print $ foldr (-) 0 [1,2,3]
print $ foldr (-) 0 ( 1:(2:(3:[])) )
print $ 1-(2-(3-0))
print $ foldr (\a b -> a-b) 0 ( 1:(2:(3:[])) )

782:卵の名無しさん
18/10/08 17:55:51.64 pH+BqnrA.net
import Data.List
divisor n = find (\m -> n `mod` m ==0 )[2..floor.sqrt.fromIntegral $ n]
main = do
print $ divisor $ (10^19-1) `div` 9

783:卵の名無しさん
18/10/08 18:06:39.22 pH+BqnrA.net
import Data.List
divisor n = find (\m -> n `mod` m ==0 )[2..floor.sqrt.fromIntegral $ n]
divisors n = filter (\m -> n `mod` m ==0 )[2..n-1]
main = do
print $ divisor $ (10^19-1) `div` 9

784:卵の名無しさん
18/10/08 20:25:22.38 pH+BqnrA.net
100万個の○が円形に並んでいます。
図のように、まず1つの○に色をぬり、
次にその●から時計回りに108個進んで止まり、そこにある○をぬります。
さらにその●から
時計回りに108個進んで止まり、
そこにある○をぬり、以下同じ作業を くり返していきます。
すでに色がぬられた●に止まったときに終了とするとき、
何個の○をぬることができますか?

foo jump spot = length $ takeWhile (\x -> x*jump `mod` spot /=0) [1..]
1 + foo 108 1000000

785:卵の名無しさん
18/10/08 20:30:18.22 pH+BqnrA.net
m個の○が円形に並んでいます。
図のように、まず1つの○に色をぬり、
次にその●から時計回りにn個進んで止まり、そこにある○をぬります。
さらにその●から
時計回りにn個進んで止まり、
そこにある○をぬり、以下同じ作業を くり返していきます。
すでに色がぬられた●に止まったときに終了とするとき、
何個の○をぬることができますか?
m / gcd(m.n)
m,nが互いに素なら全部塗れる。

786:卵の名無しさん
18/10/08 20:48:49.62 pH+BqnrA.net
gcd a b
| a `mod` b == 0 = b
| otherwise = gcd b $ a `mod` b

787:卵の名無しさん
18/10/10 08:15:31.85 VVThWPPb.net
事務員 とは?
同一者の別名として国試浪人、統計野郎、自称医科歯科、がある
自称医科歯科卒、実際は九州の駅弁国立出身で、卒業後は実家の東京に帰り国試浪人となり23年間経過、家庭教師バイトなどを経て現在は事務員、とされている
本人は、勤務医でたまに開業医の手伝いと内視鏡バイト、専門医なし、と主張しているが、連日連夜の異常な書き込み数の多さからは、勤務医とは考え難い
彼の職業がたとえ何であったとしても、人としてド底辺なことは間違いがない
自ら事務員であると告白したこともある
スレリンク(hosp板:108番)-109
自作自演も頻繁に行なっている、内視鏡バイトの後はステーキハウスに行く妄想話がよく出てくる、実際には食べたこともないんだろうな
病名を挙げて架空の診療報告を行うこともあるが、今どきヒヨッコ研修医でもそんなことやらねーぞW
事務仕事の際に手にした他人の給与明細や同窓会費振込票を盗撮し、自分のものとしてアップロードしたこともある、犯罪なんじゃねーの?
統計絶対主義でマウントを取ろうとするが、大学卒業後の人生の大部分においてそれが何の役に立つのかはなはだ疑問である
統計に基づいた重病の治療成績を患者に説明しても、患者の希望する治療は患者の事情によって異なることは一定年数以上の臨床経験があるものなら誰でも知っていることだ
それが理解できない彼は、彼自身が素性を明らかにしているようなものである
コンプ薬屋同様に、私立医への執拗な誹謗中傷を数年余にわたって続けている
裏口批判をしているが、実際にそれが可能な資産家の子弟がいるであろう右派スレには近寄らない、一度書き込�


788:セ形跡があったが指摘したら別人だと言って逃げた 弱いものが多そうなスレしか狙わないのもコンプ薬屋と共通する異常者の特徴である 劣等コンプレックスの塊なんだろうな 自分の主張に対して都合の悪い突込みが入ると、相手を私立医と決めつけて、さてはシリツだな、裏口バカ、というセリフでワンパターンに返すことが多い 国試問題を挙げて簡単だとほざいてますが、本番で通らなければお話になりません いくらネットでわめいていても、医師国試の本番で通らなければお話になりません 大事なことなので2回言いました



789:卵の名無しさん
18/10/12 06:12:09.09 co72L/r8.net
知り合いから教えてもらった自宅で稼げる方法
興味がある人はどうぞ
みんながんばろうねぇ『羽山のサユレイザ』で
K5K

790:卵の名無しさん
18/10/12 20:06:27.81 s0yH21ZM.net
ある医大で合格率の男女比が1.2で男子有意という結果だったという。
定員100で男子800人女子200人が受験して合格率の男女比が
1.2であったときに統計的には有意差があると言えるか?

791:卵の名無しさん
18/10/13 08:03:38.90 cNomfA2G.net
man=900
woman=100
pass=100
total=man+woman
p=pass/total
i=0:100
#
sum((choose(woman,i)*choose(man,pass-i)/choose(total,pass))*(i/woman > (pass-i)/man))
sum((choose(woman,i)*choose(man,pass-i)/choose(total,pass))*(i/woman == (pass-i)/man))
sum((choose(man,i)*choose(woman,pass-i)/choose(total,pass))*(i/man > (pass-i)/woman))
sum((choose(man,i)*choose(woman,pass-i)/choose(total,pass))*(i/man > 1.2*(pass-i)/woman))

792:卵の名無しさん
18/10/13 08:04:10.37 cNomfA2G.net
> sum((choose(woman,i)*choose(man,pass-i)/choose(total,pass))*(i/woman > (pass-i)/man))
[1] 0.4160339
> sum((choose(woman,i)*choose(man,pass-i)/choose(total,pass))*(i/woman == (pass-i)/man))
[1] 0.1389853
> sum((choose(man,i)*choose(woman,pass-i)/choose(total,pass))*(i/man > (pass-i)/woman))
[1] 0.4449808
> sum((choose(man,i)*choose(woman,pass-i)/choose(total,pass))*(i/man > 1.2*(pass-i)/woman))
[1] 0.3090334

793:卵の名無しさん
18/10/13 08:28:07.92 cNomfA2G.net
ある医大で合格率の男女比が1.2で男子有意という結果だったという。
定員100で男子800人女子200人が受験して合格率の男女比が
1.2であったときに統計的には有意差があると言えるか?
f <- function(ratio=1.2,man=800,woman=200,pass=100){
total=man+woman
i=0:pass
sum((choose(man,i)*choose(woman,pass-i)/choose(total,pass))*(i/man > ratio*(pass-i)/woman))
}
f()

794:卵の名無しさん
18/10/13 10:57:49.86 WXqDSsDl.net
draft
{-ある医大で合格率の男女比が1.2で男子有意という結果だったという。
定員100で男子800人女子200人が受験して合格率の男女比が
1.2であったときに統計的には有意差があると言えるか?
-}
choose n r = [1..n] `div` [1..n-r] `div` [1..r]
ratio=1.2
pass=100
man=800
woman=200
total=man+woman
ii=[0..pass]
male_fem i =
| choose(man,i)*choose(woman,pass-i)/choose(total,pass) <ratio 0
| otherwise choose(man,i)*choose(woman,pass-i)/choose(total,pass
sum $ map male_fem ii

795:卵の名無しさん
18/10/13 12:59:15.69 PvPTvQgs.net
>>736
ド底辺シリツ医大卒って医療従事者にマウントするのは不可能だから事務員や国試浪人認定するしかないんだなぁ。
こういうのにサクッと答えてド底辺シリツ医大卒でも高卒の基礎学力くらいあるのを示せばいいのに。
ある医大で合格率の男女比が1.2で男子優位という結果だったという。
定員100で男子800人女子200人が受験して合格率の男女比が
1.2であったときに統計的には有意差があると言えるか?

796:卵の名無しさん
18/10/13 15:21:07.70 PvPTvQgs.net
>>743
Rで数えると
f <- function(ratio=1.2,man=800,woman=200,pass=100){
total=man+woman
i=0:pass
sum((choose(man,i)*choose(woman,pass-i)/choose(total,pass))*(i/man > ratio*(pass-i)/woman))
}
f()

Haskellで数えると
ratio=1.2
pass=100
man=800
woman=200
total=man+woman
ii=[0..pass]
male_fem i= if r < ratio then 0 else p
where a = (choose man i)*(choose woman (pass-i))
b = choose total pass
m=fromIntegral i/ fromIntegral man
w=fromIntegral (pass-i)/fromIntegral woman
r = m/w
p = (fromIntegral a) / (fromIntegral b)
main = do
print $ sum ( map male_fem ii)

797:卵の名無しさん
18/10/14 06:36:53.74 +n7lCedi.net
f <- function(ratio=1.2,wm=0.2,total=1000,pass=100){
woman=total*wm
man=total-woman
i=0:pass
sum((choose(man,i)*choose(woman,pass-i)/choose(total,pass))*(i/man > ratio*(pass-i)/woman))
}
f()
r=seq(1,3,length=1000)
p=sapply(r,f)
plot(r,p,pch=19,type='n',bty='l',xlab='M/F ratio',ylab='probability')
abline(h=0.01,lty=3)
g <- function(wm) lines(r,sapply(r,function(r)f(r,wm)),col=10*wm,lwd=10*wm)
for(i in 1:5/10) g(i)
legend('center',bty='n',lwd=1


798::5,col=1:5, legend=c('10%','20%','30%','40%','50%')) pass=100 wm=0.2 curve( (x/(1-wm))/((pass-x)/wm),0,pass) uniroot(function(x,u0=1.2) x*wm/(1-wm)/(pass-x)-u0, c(0,pass)) (83/800)/(17/200) prop.test(c(83,17),c(800,200))



799:卵の名無しさん
18/10/14 07:14:30.48 +n7lCedi.net
pass=100
wm=0.2
curve( (x/(1-wm))/((pass-x)/wm),0,pass)
uniroot(function(x,u0=1.2) x*wm/(1-wm)/(pass-x)-u0, c(0,pass))
(83/800)/(17/200)
prop.test(c(83,17),c(800,200))

m_suc = function(rate) (pass* rate * (wm - 1))/(rate* (wm - 1) - wm)
m_suc(1.2)
curve(m_suc(x),1,5)
total=1000
wm=0.5
h <- function(mf){
M=ceiling(m_suc(mf))
F=pass-M
prop.test(c(M,F),c(total*(1-wm),total*wm))$p.value
}
r=seq(1,3,length=1000)
plot(r,sapply(r,h),type='l')
abline(h=0.05,lty=3)
uniroot(function(x)h(x)-0.05,c(1,2))$root
m_suc(1.43)
59/41
prop.test(c(59,41),c(500,500),correct=F)
prop.test(c(60,40),c(500,500),correct=F)

800:卵の名無しさん
18/10/17 18:14:18.05 Bhck6Le9.net
        ,イ                     ヽ
          /          ヽ ヽ            ヽ
       / /    |   {.  ハ ハ           ヽ
        /  :!    │ j 八   |  |             )     
     ,′ i | {.   i | {\ ハ | i| リ    )、       /   国試浪人事務員は薄汚いジジイ
        i i | 八  i Vx炒¨^jノ}八/    ( ヽ      /    敗者は敗者らしく
      | i 从 { { \八{ ////  イ     )ヾノ     (     この世界のなるべく闇いところで
      Viハ \|x炒^j       (     (イ       /      謝りながら生きていくといいのよ
        \\_V//く _        )     ) ヾ    ゝ,
        `ー小.      _-ァ  (     (      ヾ
            |i∧   く:::_ノ    )     i     丶、゙ゝ
            |i| {丶、  ´   (     |     iヾ゙
            ノ八{ { {> .  /)     i    ヾ
        〃{{ `ー=ミ  `T爪八 i  ,  ヾ    八 
        ヾ人\    `ヽ j{__j シ`ヾミミル'ハヽ.ト<7\______
         /⌒¬=-ミ#ヾ/         \ \/####/  `ヽ
        /        ヽ##`ヽ、ノ⌒ヽ     V⌒ゝ、#;;|      '.
        {         ゙i####ヽ   八    |'⌒´##ヾ     |
        |          |#####\/:i \'ー‐'i"######゙)     |
        │         |########| :| ( ⌒ )#######|     |

801:卵の名無しさん
18/10/21 21:20:01.39 Z8EDA9Rx.net
# 縦3マス、横4マスの12マスのうちランダムに選ばれた2マスにそれぞれ宝が眠っている。
# AEIBFJ…の順で縦に宝を探していく方法をとるP君と、
# ABCDEFGH…の順で横に宝を探していく方法をとるQ君が、同時に地点Aから探索を開始した。
# どっちの方が有利?
#
# ABCD
# EFGH
# IJKL

y=LETTERS[1:12]
z=matrix(y,ncol=4,byrow=T)
as.vector(z) # P
as.vector(t(z)) # Q(=y)
x=c(1,1,rep(0,10))
is.P1st <- function(){
Q=sample(x)
z=matrix(Q,ncol=4,byrow=T)
P=as.vector(z)
which.max(P) < which.max(Q)
}
k=1e3
re=replicate(k,mean(replicate(k,is.P1st())))
summary(re)

802:卵の名無しさん
18/10/21 21:45:36.09 Z8EDA9Rx.net
> x=c(1,1,rep(0,10))
> PQ <- function(){
+ Q=sample(x)
+ z=matrix(Q,ncol=4,byrow=T)
+ P=as.vector(z)
+ c( even=which.max(P) == which.max(Q),
+ p1st=which.max(P) < which.max(Q),
+ q1st=which.max(P) > which.max(Q))
+
+ }
> k=1e6
> re=replicate(k,PQ())
> mean(re['even',]) ; 13/(26+27+13)
[1] 0.197025
[1] 0.1969697
> mean(re['p1st',]) ; 26/(26+27+13)
[1] 0.393803
[1] 0.3939394
> mean(re['q1st',]) ; 27/(26+27+13)
[1] 0.409172
[1] 0.4090909

803:卵の名無しさん
18/10/22 02:17:14.19 YJqFFfdN.net
>>748
一般解
treasure <- function(m=3,n=4,k=2){
y=1:(m*n)
(z=matrix(y,ncol=n,byrow=T))
(P=as.vector(z))
(Q=as.vector(t(z)))
PQ <- function(x){
p=q=numeric(k)
for(i in 1:k){
p[i]=which(P==x[i])
q[i]=which(Q==x[i])
}
min(p)-min(q)
}
tre=combn(m*n,k)
re=apply(tre,2,PQ)
c(P1st=sum(re<0),Q1st=sum(re>0),even=sum(re==0))
}
treasure(3,4,2)
treasure(5,10,3)

804:卵の名無しさん
18/10/22 22:25:36.36 JjE8cyU0.net
| ̄ ̄ ̄ ̄ ̄ ̄| ..--―--  __
|     国    | .:.:.:.:.:.:.:.:..:.:.:.:.:.:.:.:.:.`.
|     試    |.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:\
|     浪   |:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:ヽ
|     人   |.:.:./:.:.:.:.:.:.:.:.:.:.:ヽ:.:.:.:.:.:.:..:..:.:ハ
|    !?   |.:.:.|:.:.:.:.:.:.::.:.:.:.:.:.|:.:.:.:.:.:.:.:.:.:.:.:.}
|______|:.:.:l.:.:l:.:.:.:.:l.:.:.:.:.:l:.:.:.:.:.:l:.:.:.:.:.:j
    l:.:.:.:.i:.:.:.:ヽl∧ハ\:.:.l:.:/∨ハ:.:/l:.:.:.:l:.:.l
     |:.:.:.:.l:.:.:.:l斗―ミ、 ヽ!/ ,. -―ミ、 !:.:./:.:.:l
    iト、:.:.|:.:.:.|( ・)`    '´(・ )` l:.ノ:.:.:.:.:l
     ノ:.:ハ:.:.:l ` 一'   ,   ー一'´ノ:.:.:.:.|.:.:人
    /:.:.:.У:人ι         ムイ:.:.:l:.:.:.:./ヽ
   (/i:.:{::.イ:.:.:ハ.丶   -―-   /:.:l:.:.:.:l.:.:.:八
.    レ'´}:.:.:./:.:.}リ}>  __  .イ人:.:ハ:.:.:|:.:リ}
      __)ノ トソ/ \_  _/ \ リ 乂へ
   イ   /##{  _/∨\_  }### i   \
  /     /###レイ. ヽ人/  ヽ/###.l    ヽ
.  l    /####l    /  ヽ   /####i       }

805:卵の名無しさん
18/10/22 22:27:47.24 JjE8cyU0.net
国試浪人の事務員については専用スレがあるのでそちらへ
スレリンク(hosp板:29番)

806:卵の名無しさん
18/10/22 22:28:47.06 JjE8cyU0.net
妬みマンチクリン がどういう意味なんだろうと思ってググってみたら
こんなスレが出てきました
自称医科歯科卒が専門医をねたむスレ [転載禁止]&#169;2ch.net
スレリンク(hosp板)
このスレを辿ってみたら白黒コピーの医師免許の一部が
大部分を隠してアップされてましたが
スレリンク(hosp板:437番)
これって病院で事務用に保管しているコピーですよね

807:卵の名無しさん
18/10/23 03:47:27.97 0jwkOV+G.net
あれ?
朝鮮殺戮殺人学会が警察にテロ工作員を送り込み、

なんと
警察から犯罪ライセンスを与えられ、

監禁罪、薬物大量投与テロ、
などやり、
テロ工作拠点だとバレた
福山友愛病院については?
福山友愛病院 事件 でググれば?
URLリンク(sp.nicovideo.jp)

808:卵の名無しさん
18/10/23 07:05:26.69 RnIgsz+6.net
>>751
スクリプトの最適化とか示せばいいのに
どれでもいいから掲載してあるRのコードをCで高速化してみ。

809:卵の名無しさん
18/10/23 07:11:17.37 RnIgsz+6.net
>>751
専門医スレで誰も正解出せなかった、
これを解くコードを書いて仮想国試浪人程度の頭脳があることを示してくれ。
door to balloon timeが短縮するのに必要な計算。
診療所から病院に患者を救急搬送する。
病院から医師搭乗の救急車が診療所に向かっており10時到着予定と連絡が入った。
患者の病態が悪化したら、診療所の普通車で病院に向かい救急車と出会ったら
救急車に患者を移して搬送し病院到着を急ぐという計画を立てた。
普通車から救急車への患者の乗り換えで10分余分に時間がかかる。
道路事情から救急車は病院から診療所への道は
平均時速60kmで、逆方向は平均時速45kmで定速走行する。診療所の普通車は信号待ちもあり平均時速30kmで定速走行する。
何時以降の病態悪化は診療所の車を使わずに救急車の到着を待つ方が病院に早く着くか?

810:卵の名無しさん
18/10/23 07:42:35.45 RnIgsz+6.net
国立卒ならこれくらい答えてシリツとの差をみせてほしいね。
インフルエンザの迅速キットは特異度は高いが感度は検査時期によって左右される。
ある診断キットが開発されたとする。
このキットは特異度は99%と良好であったが、
感度については確かな情報がない。
事前確率分布として一様分布を仮定する。
50人を無作為抽出してこの診断キットで診断したところ40人が陽性であった。
この母集団の有病率の期待値と95%CIはいくらか?
またこの診断キットの感度の期待値と95%CIはいくらか

811:卵の名無しさん
18/10/23 11:55:53.89 7flOAmF/.net
digi = function(x){ # 1000 -> 4 , 999 -> 3
n=ceiling(log10(x))
ifelse(10^n==x,n+1,n)
}
n2a <- function(num){ # nmu to array 122 -> c(1,2,2)
N=10
r=num%%N
q=num%/%N
while(q>0){
r=append(q%%N,r)
q=q%/%N
}
return(r)
}
one2n <- function(x){ # 121 -> 13
a=n2a(x)
k=digi(x)
p=2^((k-1):0)
sum(a*p)
}
x=1212121212
one2n(x)

812:卵の名無しさん
18/10/23 13:18:37.27 cl3+ifwu.net
このスレは事務員が日がな一日妄想を垂れ流し
見物人たちがそれを見てフルボッコにするスレである
事務員 とは?
同一者の別名として、薄汚いジジイ、国試浪人、統計野郎、自称医科歯科、がある
自称医科歯科卒、実際は九州の駅弁国立出身で、卒業後は実家の東京に帰り国試浪人となり23年間経過、家庭教師バイトなどを経て現在は事務員、とされている
本人は、勤務医でたまに開業医の手伝いと内視鏡バイト、専門医なし、と主張しているが、連日連夜の異常な書き込み数の多さからは、勤務医とは考え難く、彼の職業がたとえ何であったとしても、人としてド底辺なことは間違いがない
自ら事務員であると告白したこともある
スレリンク(hosp板:108番)-109
自作自演も頻繁に行なっている
事務仕事の際に手にした他人の給与明細や同窓会費振込票を盗撮し、自分のものとしてアップロードしたこともある、犯罪なんじゃねーの?
統計絶対主義でマウントを取ろうとするが、大学卒業後の人生の大部分においてそれが何の役に立つのかはなはだ疑問である
統計に基づいた重病の治療成績を患者に説明しても、患者の希望する治療は患者の事情によって異なることは一定年数以上の臨床経験があるものなら誰でも知っていることだ
それが理解できない彼は、彼自身が素性を明らかにしているようなものである
コンプ薬屋同様に、私立医への執拗な誹謗中傷を数年余にわたって続けている
裏口批判をしているが、実際にそれが可能な資産家の子弟がいるであろう右派スレには近寄らない、一度書き込んだ形跡があったが指摘したら別人だと言って逃げた
弱いものが多そうなスレしか狙わないのもコンプ薬屋と共通する異常者の特徴である
劣等コンプレックスの塊なんだろうな
自分の主張に対して都合の悪い突込みが入ると、相手を私立医と決めつけて、さてはシリツだな、裏口バカ、というセリフでワンパターンに返すことが多い
国試問題を挙げて簡単だとほざいてますが、本番で通らなければお話になりません
いくらネットでわめいていても、医師国試の本番で通らなければお話になりません
大事なことなので2回言いました

813:卵の名無しさん
18/10/23 14:23:32.78 7flOAmF/.net
-- 不定長整数が扱えて遅延IOなのでメモリ不足になりにくいな --
main = do
putStr $ "Type number: "
str <- getLine
let xs = concat $ iterate (\x->[1:n| n<-x] ++ [2:n|n<-x]) [[1],[2]]
n = read str
putStrLn $ concat $ map show (xs !! (n-1))

814:卵の名無しさん
18/10/23 14:54:10.02 7flOAmF/.net
>>760
コンパイルして実行したけど、1億めはメモリ不足に陥った。

815:卵の名無しさん
18/10/23 15:44:29.51 7flOAmF/.net
{1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}
URLリンク(www.wolframalpha.com)

816:卵の名無しさん
18/10/23 16:49:32.31 RnIgsz+6.net
>>761
> digit12(10^8) # 1億め
12222212122221111211111112
> digit12(10^12) # 1兆め
221211122121211212112121112111111111112
Rのコードはここ
URLリンク(tpcg.io)

817:卵の名無しさん
18/10/23 18:48:55.68 cl3+ifwu.net
>>763 は国試に23回も落ちた挙句
婚活にも失敗してる素人童貞で
くるくるぱーの裏口バカに
なっちゃってるのらぁあぁぁ
Fラン事務員の濃ゆぅぅい生ガキ汁
ド底辺の臭いが落ちないよぉ
んほおぉぉぉおぉぉ

818:卵の名無しさん
18/10/23 21:27:28.15 RnIgsz+6.net
>>763
10の68乗を無量大数というらしい
無量大数+1を2進数表示できるかやってみた。
Prelude> :main
Input integer : 100000000000000000000000000000000000000000000000000000000000000000001
1110110101100011101000100011000111010100110001001111101100100111010011001010011110101010101010000110001111101110010010111101110101001000010101101100010111000100000000000000000000000000000000000000000000000000000000000000000001
さすが不定長整数を扱えるHaskell。

819:コンブ薬屋
18/10/23 23:11:54.77 aUOG+wre.net
>>765
んで、あんた、どこ卒?
さては国試浪人の事務員だな

820:卵の名無しさん
18/10/24 07:56:03.66 cJkK7XDW.net
>>766
俺、医科歯科卒。二期校時代に入学。
国立卒なのでこういう問題にも答が出せる。
インフルエンザの迅速キットは特異度は高いが感度は検査時期によって左右される。
ある診断キットが開発されたとする。
このキットは特異度は99%と良好であったが、
感度については確かな情報がない。
事前確率分布として一様分布を仮定する。
50人を無作為抽出してこの診断キットで診断したところ40人が陽性であった。
この母集団の有病率の期待値と95%信用区間はいくらか?
またこの診断キットの感度の期待値と95%信用区間はいくらか

821:卵の名無しさん
18/10/24 13:25:08.39 R65m5krb.net
>>767は国試に23回も落ちた挙句
婚活にも失敗してる素人童貞で
くるくるぱーの裏口バカに
なっちゃってるのらぁあぁぁ
Fラン事務員の濃ゆぅぅい生ガキ汁
ド底辺の臭いが落ちないよぉ
んほおぉぉぉおぉぉ

822:卵の名無しさん
18/10/24 14:57:07.89 IciU1D6F.net
無職ではまともな女は相手しないだろうw

823:卵の名無しさん
18/10/24 18:00:20


824:.55 ID:wCLV17Kd.net



825:卵の名無しさん
18/10/24 18:00:40.97 cJkK7XDW.net
>>768
>国立卒なのでこういう問題にも答が出せる。
を受けて正解を投稿すれば、
ド底辺シリツ医大卒でも国立卒レベルの数学ができることを示す機会なのに
馬鹿を晒す機会にするとはド底辺シリツ医大卒の裏口ガイジらしいぜw

826:卵の名無しさん
18/10/24 18:11:39.40 cJkK7XDW.net
>>769
無職のナマポでさえ避けたがるのがド底辺シリツ医大卒
ナマポの症例報告です。
実例↓
517 卵の名無しさん 2018/02/25(日) 11:36:00.56 ID:gq76tAvs
福岡のあの歯科大かな?
歯科口腔外科で抜歯依頼したら爺ちゃんが〇〇歯科大卒の先生は避けて下さいねがあった
けど。
この爺ちゃん、聖マリ卒の先生もよけて下さいと初診時に言ってた札付き爺さん。
生保受給者のくせにね。

827:卵の名無しさん
18/10/25 07:04:57.74 /nor6Fod.net
裁判所事務官採用試験(大阪高裁管轄) の結果
URLリンク(www.courts.go.jp)
男880 1次通過者224 合格者43
女736  1次通過者159  合格者87
調整の出来ない1次試験の通過率    男25.5% 女21.6%
調整し放題の面接と称する試験合格率   男19.2% 女54.7%
f <- function(ratio=1.2,man=800,woman=200,pass=100){
total=man+woman
i=0:pass
sum((choose(man,i)*choose(woman,pass-i)/choose(total,pass))*(i/man > ratio*(pass-i)/woman))
}
f((87/736)/(43/880),736,880,43+87)
f((87/159)/(43/224),159,224,43+87)
prop.test(c(43,87),c(880,736))
prop.test(c(224,159),c(880,736))
prop.test(c(43,87),c(224,159))

828:卵の名無しさん
18/10/25 07:38:38.53 /nor6Fod.net
> binom.test(43,43+87,224/(224+159),alt="less")

829:卵の名無しさん
18/10/25 14:30:04.77 VIrGA62+.net
さあシリツのじかんだ
URLリンク(cdn-ak.f.st-hatena.com)

830:卵の名無しさん
18/10/25 18:32:09.06 /nor6Fod.net
この方がすっきり。
男880 1次通過者224 合格者43
女736  1次通過者159  合格者87
x=c(880,736)
y=c(224,159)
z=c(43,87)
fisher.test(cbind(x-y,y))
fisher.test(cbind(y-z,z))
fisher.test(cbind(x-z,z))
prop.test(y,x)
prop.test(z,y)
prop.test(z,x)

831:卵の名無しさん
18/10/25 18:35:26.32 /nor6Fod.net
>>772
>初診時に言ってた
シリツ医大卒=裏口バカと認識しているわけだな。
>>
東京医大、本来合格者入学許可へ 今年の受験生50人
2018年10月25日 02時06分
 東京医科大=8月、東京都新宿区
 東京医科大が今年の入試で本来合格ラインを上回っていたのに、不正の影響で不合格となった受験生50人に対し、来年4月の入学を認める方針を固めたことが24日、関係者への取材で分かった。
昨年の本来合格者19人については、難しいとの意見が出ているもようだ。東京医大は50人のうち入学希望が多数に上った場合は、来年の一般入試の募集人員減も検討。
<<
URLリンク(www.nishinippon.co.jp)
入学者数って100人程度のだよな?
半分が裏口ってこと?

832:卵の名無しさん
18/10/25 19:31:40.10 MruIcscN.net
treasure <- function(m=3,n=4,k=2){
y=1:(m*n)
(z=matrix(y,ncol=n,byrow=T))
(P=as.vector(z))
(Q=as.vector(t(z)))
PQ <- function(x){
p=q=numeric(k)
for(i in 1:k){
p[i]=which(P==x[i])
q[i]=which(Q==x[i])
}
min(p)-min(q)
}
tre=combn(m*n,k)
re=apply(tre,2,PQ)
print(c(P1st=sum(re<0),Q1st=sum(re>0),even=sum(re==0)))
invisible(list(P1st=tre[,which(re<0)


833:],Q1st=tre[,which(re>0)],even=tre[,which(re==0)])) } t342=treasure(3,4,2) print(matrix(LETTERS[t342$P1st],nrow=2),quote=F) print(matrix(LETTERS[t342$Q1st],nrow=2),quote=F) print(matrix(LETTERS[t342$even],nrow=2),quote=F) t452=treasure(4,5,2) print(matrix(LETTERS[t452$P1st],nrow=2),quote=F) print(matrix(LETTERS[t452$Q1st],nrow=2),quote=F) print(matrix(LETTERS[t452$even],nrow=2),quote=F)



834:卵の名無しさん
18/10/25 19:32:05.84 MruIcscN.net
縦nマス、横n+1マスのn(n+1)マスのうちランダムに選ばれた2マスにそれぞれ宝が眠っている。
縦1列を探し終えたらすぐ右の1列に移って宝を探していく方法をとるP君と、横1行を探し終えたらすぐ下の1行に移って宝を探していく方法をとるQ君が、同時に左上の地点から探索を開始した。
例えば、n=3の時はP君はAEIBFJCGKDHLの順で探す。Q君はABCDEFGHIJKの順で探すことになる。
ABCD
EFGH
I JK L
1つの地点を捜索するのにかかる時間は同じで、相手が1度探し終えた地点を重複して調べることも当然ある。
相手より先に宝を見つけた方を勝者とする。同時の場合は引き分けとする。
どちらの方が有利になるだろうか?

835:卵の名無しさん
18/10/25 19:48:03.86 MruIcscN.net
>>779
> t(sapply(1:20,treasure1))
P1st Q1st even
[1,] 0 0 1
[2,] 4 5 6
[3,] 26 27 13
[4,] 84 83 23
[5,] 203 197 35
[6,] 413 398 50
[7,] 751 722 67
[8,] 1259 1210 87
[9,] 1986 1910 109
[10,] 2986 2875 134
[11,] 4320 4165 161
[12,] 6054 5845 191
[13,] 8261 7987 223
[14,] 11019 10668 258
[15,] 14413 13972 295
[16,] 18533 17988 335
[17,] 23476 22812 377
[18,] 29344 28545 422
[19,] 36246 35295 469
[20,] 44296 43175 519

836:卵の名無しさん
18/10/25 20:43:08.89 VIrGA62+.net
どれ、たまには算数の問題を投稿してやろう
URLリンク(seiga.nicovideo.jp)

837:卵の名無しさん
18/10/25 21:18:10.86 /nor6Fod.net
>>780
4以上だと短軸探索が有利になるようにみえるな。

838:卵の名無しさん
18/10/25 22:33:55.27 MruIcscN.net
>>778
n=2
ABC
DEF
の場合
短軸方向探索Pが先に宝を発見する埋め方:4通り
> print(matrix(LETTERS[t232$P1st],nrow=2),quote=F)
[,1] [,2] [,3] [,4]
[1,] C D D E
[2,] D E F F
長軸方向探索Qが先に宝を発見する埋め方:5通り
> print(matrix(LETTERS[t232$Q1st],nrow=2),quote=F)
[,1] [,2] [,3] [,4] [,5]
[1,] B B B C C
[2,] C E F E F
同時に宝を発見する埋め方:6通り
> print(matrix(LETTERS[t232$even],nrow=2),quote=F)
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] A A A A A B
[2,] B C D E F D

839:卵の名無しさん
18/10/25 23:25:11.32 0YTgsLE2.net
算数の問題です
URLリンク(sp.seiga.nicovideo.jp)

840:卵の名無しさん
18/10/25 23:37:44.75 0YTgsLE2.net
算数の問題です
URLリンク(sp.seiga.nicovideo.jp)

841:卵の名無しさん
18/10/26 00:02:56.11 +rLvZj8m.net
>>779
数学板で2つの宝を先に発見した方を勝者にしたらどうなるかというレスがあったのでプログラムを改変してみた。
treasure2 <- function(m=3,n=4,k=2){
y=1:(m*n)
(z=matrix(y,ncol=n,byrow=T))
(P=as.vector(z))
(Q=as.vector(t(z)))
PQ <- function(x){
p=q=numeric(k)
for(i in 1:k){
p[i]=which(P==x[i])
q[i]=which(Q==x[i])
}
max(p)-max(q)
}
tre=combn(m*n,k)
re=apply(tre,2,PQ)
print(c(P1st=sum(re<0),Q1st=sum(re>0),even=sum(re==0)))
invisible(list(P1st=tre[,which(re<0)],Q1st=tre[,which(re>0)],even=tre[,which(re==0)]))
}
t342=treasure2(3,4,2)
#短軸方向探索Pが先に2つの宝を発見する埋め方
print(matrix(LETTERS[t342$P1st],nrow=2),quote=F)
#長軸方向探索Qが先に2つの宝を発見する埋め方
print(matrix(LETTERS[t342$Q1st],nrow=2),quote=F)
#同時に2つめの宝を発見する埋め方
print(matrix(LETTERS[t342$even],nrow=2),quote=F)

842:卵の名無しさん
18/10/26 00:04:20.43 +rLvZj8m.net
> t342=treasure2(3,4,2)
P1st Q1st even
27 26 13
> #短軸方向探索Pが先に2つの宝を発見する埋め方
> print(matrix(LETTERS[t342$P1st],nrow=2),quote=F)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19]
[1,] A A A A A B B B B B C C C D E E E E F
[2,] E F I J K E F I J K I J K K F I J K I
[,20] [,21] [,22] [,23] [,24] [,25] [,26] [,27]
[1,] F F G G G I I J
[2,] J K I J K J K K
> #長軸方向探索Qが先に2つの宝を発見する埋め方
> print(matrix(LETTERS[t342$Q1st],nrow=2),quote=F)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19]
[1,] A A A A A B B B B C C C C C D D D D D
[2,] B C D G H C D G H D E F G H E F G H I
[,20] [,21] [,22] [,23] [,24] [,25] [,26]
[1,] E E F F G H H
[2,] G H G H H I J
> #同時に2つめの宝を発見する埋め方
> print(matrix(LETTERS[t342$even],nrow=2),quote=F)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
[1,] A B C D D E F G H H I J K
[2,] L L L J L L L L K L L L L
やはり、直観と違ってイーブンにはならないな。

843:卵の名無しさん
18/10/26 00:14:13.73 +rLvZj8m.net
縦5マス、横10マスで宝が3マスに埋まっているときに
全部の宝を発見した方が勝者とすると、縦方向探索Pと横方向探索Qとして
勝者となる埋め方の場合の数は
> treasure2(5,10,3)
P1st Q1st even
9142 8832 1626
と算出できた。
部屋割りカウントできない底辺頭脳でもこれくらいは数えられるかな?

844:卵の名無しさん
18/10/26 08:17:44.20 R30QBCXi.net
算数の問題です
URLリンク(seiga.nicovideo.jp)
中卒国試浪人の事務員には解けないだろうな

845:卵の名無しさん
18/10/26 08:21:49.38 46gTk/Hn.net
昼休みの薬の説明会はフィブラストだった。
熱傷診療ガイドライン(www.jsbi-burn.org/members/guideline/pdf/guideline2.pdf)に引用された論文としてこんなのが商用パンフに掲載されていた。
URLリンク(imagizer.imageshack.com)
早期群: n1=17 m1=36.2 sd1=21.5
後期群: n2=12 m2=56.1 sd2=30.1
で早期群の方が上皮化期間が有意(t検定でp<0.05)に短いと主張している。
生データがないので標本数・平均・標準偏差から検定してみる。
ttest2 = function(n1,m1,s1, n2,m2,s2){ # ni:標本数 mi:平均 si:標準偏差
n=n1+n2-2
u=((n1-1)*s1^2+(n2-1)*s2^2)/n
t=(m1-m2)/sqrt(u/n1+u/n2)
pe=2*pt(-abs(t),n)
t=(m1-m2)/sqrt(s1^2/n1 + s2^2/n2)
n=(s1^2/n1+s2^2/n2)^2 / ( (s1^2/n1)^2/(n1-1) + (s2^2/n2)^2/(n2-1))
pu=2*pt(-abs(t),n)
p.values=c(T.test=pe,Welch.test=pu)
return(p.values)
}
> ttest2(n1,m1,sd1, n2,m2,sd2)
T.test Welch.test
0.04701090 0.06461679
等分散を仮定したt検定でやっと0.05未満になるが、等分散を仮定しないWelchの方法だと有意差がでない。

846:卵の名無しさん
18/10/26 08:22:44.14 46gTk/Hn.net
URLリンク(imagizer.imageshack.com)
のグラフをみると後期群の最大値は外れ値に見える。
後期群が n2=12 m2=56.1 sd2=30.1
を満たすようなシミュレーションデータを作成して
そのデータの最大値を除いた標本群を修正後期群として
早期群と検定(等分散を仮定するt検定と仮定しないWelchの検定)してp値を出す。
これを1万回繰り返してp値がどんな値になるかやってみた。
その結果は、
等分散t検定でp値は平均 0.105(95%CI 0.0916 0.116)で有意とは言えない。
Welochの検定でp値は平均 0.126(95%CI 0.114 0.129)で有意とは言えない。

シミュレーションデータによる検定のRスクリプトはここに書いた。
スレリンク(hosp板:82番)
ガイドラインに引用されている論文すら、あんまり信用できないと思った。
“Statistics are like bikinis. What they reveal is suggestive, but what they conceal is vital.”

847:卵の名無しさん
18/10/26 08:39:18.67 46gTk/Hn.net
>>789
中卒で受けられる国試って何だろね?
その一文だけで頭が悪いのがわかる。

848:卵の名無しさん
18/10/26 11:29:32.95 46gTk/Hn.net
こういうのの実行結果を数学板に投稿すると
レスが返って来て勉強になるなぁ。
# ABCDEFGに対してなら
# BCDEFGAが一番勝率高い気がする
library(gtools)
n=7
k=2
perm=permutations(n,n)
Q=perm[1,]
np=nrow(perm)
p1st=numeric(np)
for(i in 1:np){
P=perm[i,]
tre=combn(n,k)
nt=ncol(tre)
re=numeric()
for(j in 1:nt){
re[j]=min(which(tre[1,j]==P),which(tre[2,j]==P))-
min(which(tre[1,j]==Q),which(tre[2,j]==Q))
}
p1st[i]=sum(re<0)
}
plot(p1st)
p1st[which.max(p1st)]
(p.max=which(p1st==15))
print(matrix(LETTERS[perm[p.max,]],ncol=7),quote=F)
#

849:卵の名無しさん
18/10/26 11:48:48.32 46gTk/Hn.net
宝を2個先に~い見つけた方が勝者になるとき
library(gtools)
n=8
k=2
perm=permutations(n,n)
Q=perm[1,]
np=nrow(perm)
p1st=numeric(np)
for(i in 1:np){
P=perm[i,]
tre=combn(n,k)
nt=ncol(tre)
re=numeric()
for(j in 1:nt){
re[j]=max(which(tre[1,j]==P),which(tre[2,j]==P))-
max(which(tre[1,j]==Q),which(tre[2,j]==Q))
}
p1st[i]=sum(re<0)
}
plot(p1st)
mv=p1st[which.max(p1st)]
(p.max=which(p1st==mv))
print(matrix(LETTERS[perm[p.max,]],ncol=8),quote=F)

850:卵の名無しさん
18/10/26 12:35:57.72 +rLvZj8m.net
数学板の、分からない問題はここに書いてね スレで話題のテーマで問題を作ってみた。
ド底辺シリツ医大生が8人いてそのうち3人は裏口入学であることが判明している。
8人をA,B,C,D,E,F,G,Hとする。
A,B,C,D,E,F,G,Hの順に調査して3人みつかれば調査は終了とする。
A,B,C,D,E,F,G,Hの順の調査と比べて早くみつかる可能性の探索順を列挙せよ。

[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] A B D E F G H C
[2,] A C D E F G H B
[3,] A D B E F G H C
[4,] A D C E F G H B
[5,] B A D E F G H C
[6,] B C D E F G H A
[7,] B D A E F G H C
[8,] B D C E F G H A
[9,] C A D E F G H B
[10,] C B D E F G H A
[11,] C D A E F G H B
[12,] C D B E F G H A
[13,] D A B E F G H C
[14,] D A C E F G H B
[15,] D B A E F G H C
[16,] D B C E F G H A
[17,] D C A E F G H B
[18,] D C B E F G H A
おい、ド底辺頭脳よ、これであっているか検証してみろ。

851:卵の名無しさん
18/10/26 12:56:44.55 +rLvZj8m.net
treasure <- function(m=3,n=4,k=2){
y=1:(m*n)
(z=matrix(y,ncol=n,byrow=T))
(P=as.vector(z))
(Q=as.vector(t(z)))
PQ <- function(x){
p=q=numeric(k)
for(i in 1:k){
p[i]=which(P==x[i])
q[i]=which(Q==x[i])
}
min(p)-min(q)
}
tre=combn(m*n,k)
re=apply(tre,2,PQ)
return(c(短軸有利=sum(re<0),長軸有利=sum(re>0),同等=sum(re==0)))
}
sapply(1:12,function(k) treasure(3,4,k))
sapply(1:20,function(k) treasure(4,5,k))

852:卵の名無しさん
18/10/26 13:32:10.72 R30QBCXi.net
>789 や他の算数の問題の答え まだぁ
宅建国試浪人の中卒事務員さん

853:卵の名無しさん
18/10/26 15:19:53.27 +rLvZj8m.net
>>797
算数の問題ですらないじゃん、
おまえは問題作成すらできないドアホなのか?
最近のトピックをつかったこういう問題面白いだろ?
答える頭はお前にはないだろうけど。
ド底辺シリツ医大生が8人いてそのうち3人は裏口入学であることが判明している。
8人をA,B,C,D,E,F,G,Hとする。
A,B,C,D,E,F,G,Hの順に調査して3人みつかれば調査は終了とする。
A,B,C,D,E,F,G,Hの順の調査と比べて早くみつかる可能性の探索順を列挙せよ。

ある医大で合格率の男女比が1.2で男子優位という結果だったという。
定員100で男子800人女子200人が受験して合格率の男女比が
1.2であったときに統計的には有意差があると言えるか?

854:卵の名無しさん
18/10/26 16:34:55.99 +rLvZj8m.net
国立大学をでていれば、これくらいの計算ができて当然。
できない椰子はド底辺シリツ医大卒と同じ頭脳レベルといえる。
東京医大、本来合格者入学許可へ 今年の受験生50人
2018年10月25日 02時06分
 東京医科大=8月、東京都新宿区
 東京医科大が今年の入試で本来合格ラインを上回っていたのに、不正の影響で不合格となった受験生50人に対し、来年4月の入学を認める方針を固めたことが24日、関係者への取材で分かった。
昨年の本来合格者19人については、難しいとの意見が出ているもようだ。東京医大は50人のうち入学希望が多数に上った場合は、来年の一般入試の募集人員減も検討。
URLリンク(www.nishinippon.co.jp)
URLリンク(www.tokyo-med.ac.jp)によると
学年 第1学年 第2学年
在学者数 133 113
昨年入学者の留年者や退学者が0として、
大学が公式認定した裏口入学者が少なくとも今年は133人中50人、昨年が113人中19人ということになる。
裏口入学率の期待値、最頻値、およびその95%信頼区間を求めよ。

855:卵の名無しさん
18/10/26 16:36:52.25 +rLvZj8m.net
library(rjags)
y=c(50,19)
N=c(133,113)
Ntotal=length(y)
a=1
b=1
dataList=list(y=y,N=N,Ntotal=Ntotal,a=a,b=b)
# JAGS model
modelString ="
model{
for(i in 1:Ntotal){
y[i] ~ dbin(theta,N[i])
}
theta ~ dbeta(a,b)
}
"
writeLines(modelString,'TEMPmodel.txt')
jagsModel=jags.model('TEMPmodel.txt',data=dataList)
codaSamples=coda.samples(jagsModel,var=c('theta'),n.iter=20000,na.rm=TRUE)
summary(codaSamples)
js=as.vector(as.matrix(codaSamples))
BEST::plotPost(js,,xlab="裏口確率")
BEST::plotPost(js,showMode = TRUE,xlab="裏口確率")

856:卵の名無しさん
18/10/26 16:43:26.58 +rLvZj8m.net
>>799
昨年と今年で裏口入学率に違いがあったといえるか?
裏口入学率の差の期待値とその95%信頼区間を求めよ

857:卵の名無しさん
18/10/26 16:44:57.64 +rLvZj8m.net
>>801
解法はここに置いた
スレリンク(math板:208番)

858:卵の名無しさん
18/10/26 16:56:31.17 +rLvZj8m.net
>>800
裏口入学率の事前分布は一様分布よりJefferey分布の方がいいかなと思ってやってみたが、殆ど数値に影響なかったな。

859:卵の名無しさん
18/10/26 20:01:23.00 R30QBCXi.net
>789 や他の算数の問題の答え まだぁ
宅建国試浪人の中卒事務員さん

860:卵の名無しさん
18/10/26 20:05:38.40 46gTk/Hn.net
>>804
問題の数式はどれだよ?

861:卵の名無しさん
18/10/26 20:07:01.94 46gTk/Hn.net
こういう風にちゃんと数字を出して問題文を自作しろよ。
東京医大、本来合格者入学許可へ 今年の受験生50人
2018年10月25日 02時06分
 東京医科大=8月、東京都新宿区
 東京医科大が今年の入試で本来合格ラインを上回っていたのに、不正の影響で不合格となった受験生50人に対し、来年4月の入学を認める方針を固めたことが24日、関係者への取材で分かった。
昨年の本来合格者19人については、難しいとの意見が出ているもようだ。東京医大は50人のうち入学希望が多数に上った場合は、来年の一般入試の募集人員減も検討。
URLリンク(www.nishinippon.co.jp)
URLリンク(www.tokyo-med.ac.jp)によると
学年 第1学年 第2学年
在学者数 133 113
昨年入学者の留年者や退学者が0として、
大学が公式認定した裏口入学者が少なくとも今年は133人中50人、昨年が113人中19人ということになる。
裏口入学率の期待値、最頻値、およびその95%信頼区間を求めよ。

862:卵の名無しさん
18/10/26 20:56:35.85 R30QBCXi.net
おらぁ 算数の問題だ
URLリンク(www.nicovideo.jp)

863:卵の名無しさん
18/10/26 21:44:41.27 +rLvZj8m.net
>>791
外れ値扱いせず、対数正規分布に従うデータとして検定してみた。
負の値になるシミュレーションデータの組み合わせは除外して対数化して検定
n1=17 ; n2=12 ;m1=36.2 ;m2=56.1 ; sd1=21.5 ; sd2=30.1
fx1 = function(){
tmp=scale(rnorm(n1))*sd1+m1
while(min(tmp)<0){
tmp=scale(rnorm(n1))*sd1+m1
}
return(tmp)
}
fx2 = function(){
tmp=scale(rnorm(n2))*sd2+m2
while(min(tmp)<0) tmp=scale(rnorm(n2))*sd2+m2
return(tmp)
}
k=1e4
T.p_value=replicate(k,t.test(log(fx1()),log(fx2()),var=T)$p.value)
W.p_value=replicate(k,t.test(log(fx1()),log(fx2()))$p.value)
mean(T.p_value) ; quantile(T.p_value,c(0.025,0.975))
mean(W.p_value) ; quantile(W.p_value,c(0.025,0.975))
> mean(T.p_value) ; quantile(T.p_value,c(0.025,0.975))
[1] 0.1453533
2.5% 97.5%
0.04098323 0.50619976
> mean(W.p_value) ; quantile(W.p_value,c(0.025,0.975))
[1] 0.1407244
2.5% 97.5%
0.0313094 0.5523005
全く、有意差なしの結論になった。

864:卵の名無しさん
18/10/26 21:45:35.06 +rLvZj8m.net
>>807
こういう風にちゃんと数字を出して問題文を自作しろよ。
東京医大、本来合格者入学許可へ 今年の受験生50人
2018年10月25日 02時06分
 東京医科大=8月、東京都新宿区
 東京医科大が今年の入試で本来合格ラインを上回っていたのに、不正の影響で不合格となった受験生50人に対し、来年4月の入学を認める方針を固めたことが24日、関係者への取材で分かった。
昨年の本来合格者19人については、難しいとの意見が出ているもようだ。東京医大は50人のうち入学希望が多数に上った場合は、来年の一般入試の募集人員減も検討。
URLリンク(www.nishinippon.co.jp)
URLリンク(www.tokyo-med.ac.jp)によると
学年 第1学年 第2学年
在学者数 133 113
昨年入学者の留年者や退学者が0として、
大学が公式認定した裏口入学者が少なくとも今年は133人中50人、昨年が113人中19人ということになる。
裏口入学率の期待値、最頻値、およびその95%信頼区間を求めよ。

865:卵の名無しさん
18/10/26 21:58:38.54 R30QBCXi.net
まだ答えられんのか?
やはり事務員には無理だったか
算数の問題だ おらぁ
URLリンク(www.nicovideo.jp)

866:卵の名無しさん
18/10/26 22:25:41.39 QZUdd6Brt
>>810
ちゃんと数字を出して問題文を自作しろよ。問題自作する能力すらないの?
こいういうトピックでの自分で問題を考えて解決するのは楽しいぞ。

東京医大、本来合格者入学許可へ 今年の受験生50人
2018年10月25日 02時06分
 東京医科大=8月、東京都新宿区
 東京医科大が今年の入試で本来合格ラインを上回っていたのに、不正の影響で不合格となった受験生50人に対し、来年4月の入学を認める方針を固めたことが24日、関係者への取材で分かった。
昨年の本来合格者19人については、難しいとの意見が出ているもようだ。東京医大は50人のうち入学希望が多数に上った場合は、来年の一般入試の募集人員減も検討。
URLリンク(www.nishinippon.co.jp)

URLリンク(www.tokyo-med.ac.jp)によると
学年 第1学年 第2学年
在学者数 133 113
昨年入学者の留年者や退学者が0として、
大学が公式認定した裏口入学者が少なくとも今年は133人中50人、昨年が113人中19人ということになる。
裏口入学率の期待値、最頻値、およびその95%信頼区間を求めよ。

>>796

数学板で同じようにプログラミングして解決しようとする人も現れて議論が深まって楽しいいな。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch