「安倍が死ねば、日本は幸せになる」という命題があるとき、安倍が死んでないならこの命題は必ず真 [無断転載禁止]©2ch.net

1132人目の素数さん2017/03/29(水) 06:03:13.82ID:LYDp2KuN
これマジ?

155◆2VB8wsVUoo 2017/09/08(金) 14:28:05.00ID:6ibQhXIy

156◆2VB8wsVUoo 2017/09/08(金) 14:28:23.09ID:6ibQhXIy

157132人目の素数さん2017/09/08(金) 14:29:09.67ID:R9iTmmpR
証明でこの恒真式(もしくは公理)が出てくるといつも詐欺にあったような気になる。

P→(Q→P)
馬鹿ならば(シリツならば馬鹿である)
馬鹿ならば(裏口ならば馬鹿である)

¬P→(P→Q)
馬鹿でないなら(馬鹿であればシリツである)
馬鹿でないならば(馬鹿であれば裏口である)

Qとして天才とか変態とかを選んでも恒真式、というのは日常言語感覚からは乖離しているな。
ド底辺特殊シリツ医大を最高学府と呼ぶような気持ち悪さを覚える。

158◆2VB8wsVUoo 2017/09/08(金) 14:35:53.30ID:6ibQhXIy

159◆2VB8wsVUoo 2017/09/08(金) 14:36:10.50ID:6ibQhXIy

160◆2VB8wsVUoo 2017/09/08(金) 14:36:28.05ID:6ibQhXIy

161◆2VB8wsVUoo 2017/09/08(金) 14:36:43.61ID:6ibQhXIy

162◆2VB8wsVUoo 2017/09/08(金) 14:36:58.93ID:6ibQhXIy

163◆2VB8wsVUoo 2017/09/08(金) 14:37:14.96ID:6ibQhXIy

164◆2VB8wsVUoo 2017/09/08(金) 14:37:30.50ID:6ibQhXIy

165◆2VB8wsVUoo 2017/09/08(金) 14:37:53.51ID:6ibQhXIy

166◆2VB8wsVUoo 2017/09/08(金) 14:38:24.93ID:6ibQhXIy

167◆2VB8wsVUoo 2017/09/08(金) 14:38:41.14ID:6ibQhXIy

168132人目の素数さん2017/09/08(金) 14:51:58.49ID:q0YfmsRR
耳栓をしたら世界が変わってワロタ

169◆2VB8wsVUoo 2017/09/08(金) 17:10:09.19ID:6ibQhXIy

170◆2VB8wsVUoo 2017/09/08(金) 17:11:13.71ID:6ibQhXIy

171◆2VB8wsVUoo 2017/09/08(金) 17:11:30.22ID:6ibQhXIy

172◆2VB8wsVUoo 2017/09/08(金) 17:11:48.12ID:6ibQhXIy

173◆2VB8wsVUoo 2017/09/08(金) 17:12:05.47ID:6ibQhXIy

174◆2VB8wsVUoo 2017/09/08(金) 17:12:23.02ID:6ibQhXIy

175◆2VB8wsVUoo 2017/09/08(金) 17:12:41.22ID:6ibQhXIy

176◆2VB8wsVUoo 2017/09/08(金) 17:12:59.84ID:6ibQhXIy

177◆2VB8wsVUoo 2017/09/08(金) 17:13:19.29ID:6ibQhXIy

178◆2VB8wsVUoo 2017/09/08(金) 17:13:38.03ID:6ibQhXIy

179132人目の素数さん2017/09/09(土) 12:20:51.73ID:G2DuD1v6
耳栓をしたら世界が変わってワロタ

180◆2VB8wsVUoo 2017/10/24(火) 08:24:40.08ID:n4VIAFJn

181◆2VB8wsVUoo 2017/10/24(火) 08:24:58.28ID:n4VIAFJn

182◆2VB8wsVUoo 2017/10/24(火) 08:25:15.50ID:n4VIAFJn

183◆2VB8wsVUoo 2017/10/24(火) 08:25:31.64ID:n4VIAFJn

184◆2VB8wsVUoo 2017/10/24(火) 08:25:49.57ID:n4VIAFJn

185◆2VB8wsVUoo 2017/10/24(火) 08:26:07.32ID:n4VIAFJn

186◆2VB8wsVUoo 2017/10/24(火) 08:26:26.09ID:n4VIAFJn

187◆2VB8wsVUoo 2017/10/24(火) 08:26:50.38ID:n4VIAFJn

188◆2VB8wsVUoo 2017/10/24(火) 08:27:09.09ID:n4VIAFJn

189◆2VB8wsVUoo 2017/10/24(火) 08:27:29.85ID:n4VIAFJn

190132人目の素数さん2018/04/07(土) 07:01:10.55ID:eG1yamTB
jags4prop <- function(r1,r2,n1,n2,
ROPEdiff=c(-0.025,0.025),ROPErate=c(0.80,1.25),
NNT=FALSE){
library(rjags)
y=c(rep(1,r1),rep(0,n1-r1),rep(1,r2),rep(0,n2-r2))
s=as.numeric(factor(c(rep('D',n1),rep('U',n2))))
a=1 ; b=1 # JAGS prior : beta(a,b)
myData=data.frame(y=y,s=s)
Ntotal = length(y)
Nsubj = length(unique(s))
dataList = list(
y = y ,
s = s ,
Ntotal = Ntotal ,
Nsubj = Nsubj
)
# JAGS model
modelString = paste0("
model {
for ( i in 1:Ntotal ) {
y[i] ~ dbern( theta[s[i]] )
}
for ( sIdx in 1:Nsubj ) {
theta[sIdx] ~ dbeta(", a,',' , b," )
}
}
")
writeLines( modelString , con="TEMPmodel.txt" )
jagsModel = jags.model( file="TEMPmodel.txt" , data=dataList, quiet=TRUE)
update(jagsModel)
codaSamples = coda.samples( jagsModel , variable="theta", n.iter=10000 )
mcmcMat=as.matrix(codaSamples)
risk1=mcmcMat[,1]
risk2=mcmcMat[,2]
x11()
par(mfrow=c(2,2))
BEST::plotPost(risk1,col='gray')
if(NNT){
BEST::plotPost(abs(1/(risk1-risk2)), xlab ='NNT(NNH)',col='pink')}
else{
BEST::plotPost(risk1-risk2,compVal=0,ROPE=ROPEdiff,cex=1,col='pink')
}
BEST::plotPost(risk2,col='gray')
BEST::plotPost(risk1/risk2,compVal=1,ROPE=ROPErate,col='skyblue')
invisible(codaSamples)
}
jags4prop(r1=1,n1=1,r2=0,n2=1,ROPEdiff=NULL,NNT=TRUE)
jags4prop(r1=1,n1=1,r2=0,n2=1,ROPEdiff=NULL)

191132人目の素数さん2018/04/11(水) 11:58:17.41ID:LX0qXOLG
f<- function(d=1,beta=.80,alpha=.05) 2*(abs((qnorm(1-alpha/2))+abs(qnorm(1-beta)))/d)^2
f(5/10)
power.t.test(delta=0.5,power=0.80)$n
# power 50%->80%
dd=seq(0.01,0.99,by=0.01)
g<- function(x) f(x,.50)/f(x,.80)
summary (sapply(dd,g))
(2*(abs(1.96+abs(qnorm(1-0.80))))^2)/(2*(abs(1.96+abs(qnorm(1-0.50))))^2)

(1.96+0.84)^2/(1.96+0)^2

dd=seq(0.01,0.99,by=0.01)
h<-function (x,pow1=0.80,pow2=0.50){
power.t.test(d=x, power=pow1)$n/power.t.test(d=x, power=pow2)$n
}
res=sapply (dd,h)
plot(dd,res)
summary (res)

# power 80%->90%
f(beta=0.90)
f(beta=0.80)
(2*(abs(1.96+abs(qnorm(1-0.90))))^2)/(2*(abs(1.96+abs(qnorm(1-0.80))))^2)
res1=sapply (dd, function (x) h(x,0.90,0.80))
plot (dd,res1)

# power 80%->99%
f(beta=0.99)
f(beta=0.80)
(2*(abs(1.96+abs(qnorm(1-0.99))))^2)/(2*(abs(1.96+abs(qnorm(1-0.80))))^2)
res2=sapply (dd, function (x) h(x,0.99,0.80))
plot (dd,res2)

##
f<- function(d=1,beta=.80,alpha=.05) 2*(abs((qnorm(1-alpha/2))+abs(qnorm(1-beta)))/d)^2
f()
sample.size <- function (d=1,beta=0.80,alpha=0.05){
f<- function(n) 2*((abs(qt(1-alpha/2,n-1))+abs(qt(1-beta,n-1)))/d)^2 - n
uniroot (f, c(3,10000))$root
}
sample.size()
power.t.test(d=1, power=0.80)$n 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)

192132人目の素数さん2018/04/19(木) 23:50:23.50ID:GVMUXyX9
慶應義塾学医学部 2051 70
順天堂大学医学部 2090 66
昭和大学医学部 2200 65
東京慈恵会医科大学医学部 2250 69
自治医科大学医学部 2260 66
産業医科大学医学部 2749 65
日本医科大学医学部 2813 66
東京医科大学医学部 2995 64
関西医科大学医学部 3014 65
大阪医科大学医学部 3141 66
東邦大学医学部 3180 62
久留米大学医学部 3237 61
東京女子医科大学医学部 3284 60
日本大学医学部 3310 61
岩手医科大学医学部 3400 60
聖マリアンナ医科大学医学部 3440 58
近畿大学医学部 3580 62
藤田保健衛生大学医学部 3650 60
獨協医科大学医学部 3660 59
帝京大学医学部 3750 59
杏林大学医学部 3755 61
東海大学医学部 3760 61
福岡大学医学部 3770 60
愛知医科大学医学部 3800 59
埼玉医科大学医学部 3800 57
兵庫医科大学医学部 3880 60
北里大学医学部 3890 60
金沢医科大学医学部 3950 58
川崎医科大学医学部 4565 57

dat=read.table("clipboard")
colnames(dat)=c("school","tuition","hensa")
head(dat)

xi=dat$hensa
yi=dat$tuition
re=lm(yi~xi) ; re
beta1.hat=re$coef[1]
beta10=0
n=length(xi)
Sxx=var(xi)*(n-1)
Syy=var(yi)*(n-1)
Sxy=cov(xi,yi)*(n-1)
beta1.hat=Sxy/Sxx
Se=Syy - Sxy^2/Sxx
phie=n-2
Ve=Se/phie
t0=(beta1.hat-beta10)/sqrt(Ve/Sxx) ; t0
curve(dt(x,n-2),-5,5,bty='l')
pt(t0,n-2)

> t0=(beta1.hat-beta10)/sqrt(Ve/Sxx) ; t0
[1] -10.17626
> pt(t0,n-2)
[1] 4.873385e-11

193132人目の素数さん2018/04/27(金) 20:41:28.71ID:uC0CNGcQ
# Lindner Center data on 996 PCI patients analyzed by Kereiakes et al. (2000)

library(MatchLinReg)
data("lindner")
head(lindner)
attach(lindner)
(tbl=table(stent,sixMonthSurvive))
Epi::twoby2(tbl)
formula.stent = stent ~ abcix + height + female + diabetic + acutemi +
ejecfrac + ves1proc - 1
formula.6month = sixMonthSurvive ~ stent+ abcix + height + female + diabetic + acutemi +
ejecfrac + ves1proc - 1
rms::lrm( stent ~ abcix + height + female + diabetic + acutemi +
ejecfrac + ves1proc-1, data=lindner)$stat['C']
ps=re.glm$fitted.values
Y=lindner$sixMonthSurvive
Tr=lindner$stent

# IPWE
weighted.mean(Y,Tr/ps) - weighted.mean(Y,(1-Tr)/(1-ps))

## (Doubly Robust: DR)
dre <- function(data, target, treat, ps, formula) {
n <- nrow(data)
y <- data[target]
z <- data[treat]
data1 <- data[data[treat]==1,]
data0 <- data[data[treat]==0,]
model1 <- lm(formula=formula, data=data1)
model0 <- lm(formula=formula, data=data0)
fitted1 <- predict(model1, data)
fitted0 <- predict(model0, data)
dre1 <- (1/n)*sum(y+((z-ps)/ps)*(y-fitted1))
dre0 <- (1/n)*sum(((1-z)*y)/(1-ps)+(1-(1-z)/(1-ps))*fitted0)
c(treated=dre1,control=dre0,ATE=dre1-dre0)
}

dre(data=lindner,target='sixMonthSurvive',treat='stent', ps=ps, formula=sixMonthSurvive ~ abcix + height
+ female + diabetic + acutemi +ejecfrac + ves1proc -1)

194132人目の素数さん2018/05/03(木) 11:38:00.90ID:Jusm5aoQ
# http://www1.udel.edu/educ/gottfredson/reprints/2009semen.pdf
cor2ci<- function(cor,n,conf.level=0.95){
lower=tanh(atanh(cor) + qnorm((1-conf.level)/2)/sqrt(n-3))
upper=tanh(atanh(cor) - qnorm((1-conf.level)/2)/sqrt(n-3))
data.frame(lower,cor,upper)
}

cor2p <- function(cor,n,alternative='two.sided'){
r=cor
t.stat=r*sqrt(n-2)/sqrt(1-r^2)
if(alternative=='two.sided'){
p.value=pt(-abs(t.stat),n-2)*2
}else{
p.value=pt(-abs(t.stat),n-2)
}
return(p.value)
}
cor2p(0.14,425)
rs=c(conc=0.15,count=0.19,Motility=0.14)
n=425
cor2ci(rs,n)
sapply(rs,function(cor)cor2p(cor,n=425))
#
r2p <- function(r,n){
2*pt(-abs(r)*sqrt(n-2)/sqrt(1-r^2),n-2)
}
# 0.002=r2p(0.15,n)
curve(r2p(rs[1],x),300,600)
abline(h=0.002,lty=3)
uniroot(function(n,p0=0.0015)r2p(rs[1],n)-p0,c(100,1000))$root # 445
uniroot(function(n,p0=0.0020)r2p(rs[1],n)-p0,c(100,1000))$root # 422
uniroot(function(n,p0=0.0025)r2p(rs[1],n)-p0,c(100,1000))$root # 404
r2p(rs[1],425)

# 0.002=r2p(0.14,n)
curve(r2p(rs[3],x),300,600)
abline(h=0.002,lty=3)
uniroot(function(n,p0=0.0015)r2p(rs[3],n)-p0,c(100,1000))$root # 511
uniroot(function(n,p0=0.0020)r2p(rs[3],n)-p0,c(100,1000))$root # 484
uniroot(function(n,p0=0.0025)r2p(rs[3],n)-p0,c(100,1000))$root # 464
r2p(rs[3],425)
r2p(rs[3],c(445,422,404))

r2p(0.19,425)

195132人目の素数さん2018/05/04(金) 20:19:11.93ID:Za4pacSv
noise2sig <− function(seed,sequential=FALSE){
set.seed(seed)
Noise=matrix(rnorm(100*51),ncol=51,nrow=100)
# first pass
lm1=lm(Noise[,51] 〜 Noise[,−51]) # Noise[,51] : 目的変数Y
cat(V\nR2 (1st) = V,summary(lm1)$r.squared)
cat(V\np.value (1st) = V,anova(lm1)$Pr[1])
coefs1=summary(lm1)$coef[,VPr(>|t|)V]
length(coefs1)
coefs1[1]
coeffs1=coefs1[−1]
cat(V\ncoef < 0.25 =V,sum(coeffs1<0.25))
cat(V\ncoef < 0.05 =V,sum(coeffs1<0.05))
indx25=which(coeffs1<0.25)

# second pass
lm2=lm(Noise[,51] 〜 Noise[,indx25])
cat(V\n\nR2 (2nd) = V,summary(lm2)$r.squared)
cat(V\np.value(2nd) = V,anova(lm2)$Pr[1])
coefs2=summary(lm2)$coef[,VPr(>|t|)V]
length(coefs2)
coefs2[1]
coeffs2=coefs2[−1]
cat(V\ncoef < 0.25 (2nd) =V,sum(coeffs2<0.25))
cat(V\ncoef < 0.05 (2nd) =V,sum(coeffs2<0.05))
cat(V\n\nV)
if(sequential){
  cat(VHit Return Key in console windowV)
  no_save <− scan(n=1, what=character(), quiet=TRUE)
 }



noise2sig(1)
for(i in 2:5) noise2sig(i,seq=TRUE)

196132人目の素数さん2018/05/08(火) 13:22:38.87ID:Gebq//ip
> UG
1年度 2年度 3年度 4年度 5年度 6年度
学生1 30 45 42 31 47 35
学生2 42 18 46 42 42 52
学生3 51 39 23 45 44 41
学生4 28 56 26 49 41 33
学生5 51 48 31 48 42 37
学生6 41 58 27 37 38 30
学生7 20 31 42 16 31 29
学生8 45 42 54 55 46 50
学生9 61 35 34 38 47 34
学生10 44 32 23 30 29 56
> mUG=reshape2::melt(UG) ; colnames(mUG)=c('学生','年度','成績')

> Tk=TukeyHSD(aov(成績~学生,mUG))

> p.Tk=Tk[[1]][,'p adj']
> n9=nrow(UG)-1
> mat.Tk=matrix(rep(NA,n9*n9),n9)
> for(k in 1:9) mat.Tk[,k]=c(rep(NA,k-1), p.Tk[((k-1)*(n9+1-k/2)+1):((k-1)*(n9+1-k/2)+1+n9-k)])
> colnames(mat.Tk)=paste0('学生',1:9)
> rownames(mat.Tk)=paste0('学生',2:10)
> d=round(mat.Tk,3)
> d[is.na(d)]='-'
> print(d,quote=FALSE)
学生1 学生2 学生3 学生4 学生5 学生6 学生7 学生8 学生9
学生2 1 - - - - - - - -
学生3 1 1 - - - - - - -
学生4 1 1 1 - - - - - -
学生5 0.998 1 1 0.999 - - - - -
学生6 1 1 1 1 0.999 - - - -
学生7 0.742 0.513 0.493 0.687 0.257 0.724 - - -
学生8 0.724 0.9 0.911 0.776 0.989 0.742 0.023 - -
学生9 1 1 1 1 1 1 0.383 0.958 -
学生10 1 0.998 0.997 1 0.958 1 0.945 0.418 0.989
>

197132人目の素数さん2018/07/22(日) 11:22:57.29ID:Ott8rTSz
> REDWHITECOLOR(perm[indx,])
RED = 5 8 7 WHITE = 3 9 6 1 8 COLOR = 4 0 2 0 5

198132人目の素数さん2018/07/22(日) 11:43:12.65ID:Ott8rTSz
# ド底辺+シリツ=裏口馬鹿

x=LETTERS[1:10]
uraguchi <- function(A,B,C,D,E,F,G,H,I,J){
doteihen=10^(2:0)
siritsu=10^(2:0)
uraguchibaka=10^(3:0)
sum(doteihen*c(A,B,C))+sum(siritsu*c(D,E,F))-sum(uraguchibaka*c(G,H,I,J))
}
x=unique(x)
URAGUCHI <- function(x){
A=x[1]
B=x[2]
C=x[3]
D=x[4]
E=x[5]
F=x[6]
G=x[7]
H=x[8]
I=x[9]
J=x[10]

cat(paste('ド底辺 = ',A,B,C,
' シリツ = ',D,E,F,
' 裏口馬鹿 = ',G,H,I,J),'\n')
}
URAGUCHI(unique(x))

library(gtools)
perm=permutations(n=10,r=10,v=0:9)
perm=perm[perm[,1]!=0&perm[,4]!=0&perm[,7]!=0,] # A!=0,D!=0,G!=0
head(perm) ; tail(perm)
n=nrow(perm)
re=numeric(n)
for(i in 1:n){
re[i]=uraguchi(perm[i,1],perm[i,2],perm[i,3],perm[i,4],perm[i,5],perm[i,6],perm[i,7],perm[i,8],perm[i,9],perm[i,10])
}
hist(re)
indx=which(re==0)
(n.indx=length(indx))
for(i in 1:n.indx) URAGUCHI(perm[indx[i],])

199132人目の素数さん2018/07/22(日) 15:29:39.25ID:Ott8rTSz
/*
  底辺私立
 ×   5
------------
  裏口馬鹿
各々の漢字は1〜8までの数字を表します。
同じ数字は使われません。
底辺私立・裏口馬鹿に数字をいれて筆算を2通り完成させてください。
*/

#include<stdio.h>
int compare_int(const void *a, const void *b){
return *(int*)a - *(int*)b;
}
int unique(int num[]){
int i,j,n=8;
qsort(num,n,sizeof(int),compare_int);
for(i=0;i<n;i++){
for(j=0;j<i;j++){
if(num[j]==num[j+1]){
return 0;
}}}
return 1;
}
main(){
int A,B,C,D,E,F,G,H;
for(A = 1; A < 9; A++){
for(B = 1; B < 9; B++){
for(C = 1; C < 9; C++){
for(D = 1; D < 9; D++){
for(E = 1; E < 9; E++){
for(F = 1; F < 9; F++){
for(G = 1; G < 9; G++){
for(H = 1; H < 9; H++){
if((A*1000+B*100+C*10+D)*5==E*1000+F*100+G*10+H){
int num[]={A,B,C,D,E,F,G,H};
if(unique(num)==1){
printf("底辺私立 = %2d%2d%2d%2d 裏口馬鹿 = %2d%2d%2d%2d\n", A,B,C,E,F,G,H);
}}
}}} }}} }}
}

200132人目の素数さん2018/07/31(火) 12:09:36.10ID:AXaAgLMZ
attack <- function(x){ # TRUE if on attack
n=length(x)
for(i in 1:(n-1)){
for(j in 1:(n-i)){
if(x[i+j]==x[i]+j | x[i+j]==x[i]-j) return(TRUE)
}
}
return(FALSE)
}

N_Queen<-function(n){
perm=gtools::permutations(n,n)
ret=apply(perm,1,attack)
perm[which(ret==FALSE),]
}

N_Queen(8)

201132人目の素数さん2018/07/31(火) 12:11:17.41ID:AXaAgLMZ
rot <- function(row,col,n=8){ # position after 90 degree rotation
c(col,n-row+1)
}
rota <- function(x){ # 90 degree rotation
n=length(x)
re=numeric(n)
for(i in 1:n){
tmp=rot(i,x[i],n)
re[tmp[1]]=tmp[2]
}
re
}

# ratete 90 degree four times
rotate <- function(x){
r1=rota(x)
r2=rota(r1)
r3=rota(r2)
rx=rbind(x,r1,r2,r3)
rownames(rx)=NULL
return(rx)
}

b2v <- function(x){
ret=unique.matrix(rbind(x,rotate(x),rotate(rev(x))))
rownames(ret)=NULL
ret
}

is.var <- function(x,y){ # x: base, y : variation of x ?
v=b2v(x)
nv=nrow(v)
for(i in 1:nv){
if(all(v[i,]==y)) return(TRUE)
}
return(FALSE)
}

uniQ <- function(M){ # check firt row vs the others
n=nrow(M)
uniq=numeric(n)
for(i in 1:n){
uniq[i]=!is.var(M[1,],M[i,]) # is no variant?
}
M=rbind(M[which(uniq==1),],M[1,]) # append 1st row at last
return(M) # not the final answer
}
M=N_Queen(9)
while(nrow(M)!=nrow(uniQ(M))){
M=uniQ(M)
}
M

202132人目の素数さん2018/07/31(火) 13:30:25.25ID:AXaAgLMZ
basic_Queen <- function(N){
M=m=N_Queen(N)
while(nrow(M)!=nrow(uniQ(M))) M=uniQ(M)
return(list(variant=m,basic=M))
}

basic_Queen(5)

drawQ <- function(n){#
M=basic_Queen(n)$basic
nr=nrow(M)
for(i in 1:nr){
cat('(',i,')\n')
for(j in 1:n){
cat(rep('_',M[i,j]-1),'●',rep('_',n-M[i,j]),'\n')
}
cat('\n')
}
}
drawQ(5)
drawQ(6)
drawQ(8)

203132人目の素数さん2018/08/07(火) 11:36:28.79ID:JOZRDgmj
/* ウカウカ+ウサギ+ノソノソ+カメ+キヨウソウ=ウサギトカメ */
#include<stdio.h>
int compare_int(const void *a, const void *b){
return *(int*)a - *(int*)b;
}
int unique(int num[]){
int i,j,n=10;
qsort(num,n,sizeof(int),compare_int);
for(i=0;i<n;i++){
for(j=0;j<i;j++){
if(num[j]==num[j+1]){
return 0;
}}}
return 1;
}
main(){
int u,ka,sa,gi,no,so,me,ki,yo,to;
for(u = 1; u < 10; u++){
for(ka = 1; ka < 10; ka++){
for(sa = 0; sa < 10; sa++){
for(gi = 0; gi < 10; gi++){
for(no = 1; no < 10; no++){
for(so = 0; so < 10; so++){
for(me = 0; me < 10; me++){
for(ki = 1; ki < 10; ki++){
for(yo = 0; yo < 10; yo++){
for(to = 0; to < 10; to++){
/* ウカウカ+ウサギ+ノソノソ+カメ+キヨウソウ=ウサギトカメ */
if(u*1000+ka*100+u*10+ka +u*100+sa*10+gi +no*1000+so*100+no*10+so +ka*10+me +ki*10000+yo*1000+u*100+so*10+u == u*100000+sa*10000+gi*1000+to*100+ka*10+me){
int num[]={u,ka,sa,gi,no,so,me,ki,yo,to};
if(unique(num)==1){
printf("%d%d%d%d + %d%d%d + %d%d%d%d + %d%d + %d%d%d%d%d = %d%d%d%d%d%d\n",u,ka,u,ka,u,sa,gi,no,so,no,so,ka,me,ki,yo,u,so,u,u,sa,gi,to,ka,me);
}}
}}}}}}}}}}
} 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)

204132人目の素数さん2018/08/10(金) 12:25:59.56ID:lOg+llmH
# 7個の a と3個の b を一列に並べてできる順列のうち
# 次の簡約律のもとで文字を消していくと最終的に何も残らなくなる順列は何通りありますか。
# ・aa が現れると消える。
# ・bb が現れると消える。
# ・ababab が現れると消える。
# ・bababa が現れると消える。

# all permutation
reperm <- function(n, r, v) {
# if(n!=length(v) | n < r) return('ERROR')
if(r==1) return(matrix(v))
else {
re <- NULL
for(i in 1:n) re=rbind(re, cbind(v[i], reperm(n-1,r-1,v[-i])))
return(unique(re))
}
}
perm=reperm(n=10,r=10,v=c(rep(0,7),rep(1,3)))

# ababab|bababa
rm_ababab <- function(v){
if(length(v)<6) return(v)
for(i in 1:5)
if(all(v[i:(i+5)]==c(0,1,0,1,0,1))|all(v[i:(i+5)]==c(1,0,1,0,1,0))){
return(v[-i:-(i+5)])
}
return(v)
}

# aa|bb
rm_aa <- function(v){ # remove 1st two aa or bb
if(length(v)<2) return(v)
n=length(v)
for(i in 1:(n-1))
if(all(v[i:(i+1)]==c(0,0))|all(v[i:(i+1)]==c(1,1))){
return(v[-i:-(i+1)])
}
return(v)
}

rm_aaR <- function(v){ # recursively remove aa or bb while checking abababa or bababa
if(length(v)==6){
if(all(v==c(1,0,1,0,1,0))|all(v==c(0,1,0,1,0,1))) return(c(0,0))
}
if(length(v)==2) return(v)
else{
v1=rm_aa(v)
Recall(v1)
}
}

res=apply(perm,1,rm_aaR)
res=t(res)
sum(res[,1]==0 & res[,2]==0)
idx=which(res[,1]==0 & res[,2]==0)
perm[idx,]

205132人目の素数さん2018/08/10(金) 15:19:15.44ID:Hlm8Oe3x
combnを使って改訂
# all permutations
ones=t(combn(10,3))
indx2ten <- function(x){
y=numeric(10)
y[x[1]]=1
y[x[2]]=1
y[x[3]]=1
return(y)
}
perm=NULL
for(i in 1:nrow(ones)) perm=rbind(perm,indx2ten(ones[i,]))
# ababab|bababa
rm_ababab <- function(v){
if(length(v)<6) return(v)
for(i in 1:5)
if(all(v[i:(i+5)]==c(0,1,0,1,0,1))|all(v[i:(i+5)]==c(1,0,1,0,1,0))){
return(v[-i:-(i+5)])
}
return(v)
}

# aa|bb
rm_aa <- function(v){ # remove 1st two aa or bb
if(length(v)<2) return(v)
n=length(v)
for(i in 1:(n-1))
if(all(v[i:(i+1)]==c(0,0))|all(v[i:(i+1)]==c(1,1))){
return(v[-i:-(i+1)])
}
return(v)
}
rm_aaR <- function(v){ # recursively remove aa or bb while checking abababa or bababa
if(length(v)==6){
if(all(v==c(1,0,1,0,1,0))|all(v==c(0,1,0,1,0,1))) return(c(0,0))
}
if(length(v)==2) return(v)
else{
v1=rm_aa(v)
Recall(v1)
}
}
res=apply(perm,1,rm_aaR)
res=t(res)
sum(res[,1]==0 & res[,2]==0)
idx=which(res[,1]==0 & res[,2]==0)
Ans=perm[idx,]
AB=Ans+1
rownames(AB)=NULL
.ab=c('a','b')
indx2char <- function(x,ab=.ab){
n=length(x)
re=NULL
for(i in 1:n) re[i]=ab[x[i]]
re
}
print(t(apply(AB,1,indx2char)),quote = FALSE)

新着レスの表示
レスを投稿する