トップページ⇒tech
202コメント58KB

切符の数字で10を作れ

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
誰でも子どものころやったことがあるだろう。
切符に印字された4桁の数字。
4つの数字と四則演算を使って10を作るという遊び。

あれをいかにCOOLな方法で実装するかを競うのがこのスレの遊び。
4桁の数字の入力を受けて10が作れるか検討するプログラムもよし。
全件のリストをはきだすもよし。

言語は問わない。
lispでさくっと実装するもよし。
COBOLやBASICで実装するもよし。
0002デフォルトの名無しさんNGNG
2σ・∀・)σゲッツ!!
0003デフォルトの名無しさんNGNG
lispだとサクっと作れるの?
0004デフォルトの名無しさんNGNG
糞スレ
0005デフォルトの名無しさんNGNG
つーか、レスすんなよ
0006JavaScriptNGNG
<html>
<head>
<title>
kippu no suuji de 10 wo tsukuru script
</title>
</head>
<body>
<script language = "JavaScript">

<!--

document.numbers.hyouji.value = "";

function k(a1,op,a2){ //keisan suru kansuu
if(op == 0) {return parseFloat(a1)+parseFloat(a2);}
if(op == 1) {return parseFloat(a1)-parseFloat(a2);}
if(op == 2) {return parseFloat(a1)*parseFloat(a2);}
if(op == 3 && a2 != 0) {return parseFloat(a1)/parseFloat(a2);}
return "err";
}

function check(a0, a1, a2, a3) {
opst = new Array();
opst[0] = "+";
opst[1] = "-";
opst[2] = "*";
opst[3] = "/";

for (o0 = 0; o0 < 4; o0++){
for(o1 = 0; o1 < 4; o1++){
0007JavaScriptNGNG
for(o2 = 0; o2 < 4; o2++){
// ((a0 o0 a1) o1 a2) o2 a3
result = k(k(k(a0,o0,a1),o1,a2),o2,a3);
if(9.99 <= result && result <= 10.01){
document.numbers.hyouji.value = document.numbers.hyouji.value+
"(("+a0+opst[o0]+a1+")"+opst[o1]+a2+")"+opst[o2]+a3+"="+result+"\n";
}

// (a0 o0 (a1 o1 a2) o2 a3
result = k(k(a0, o0, k(a1, o1, a2)), o2, a3);
if(9.99 <= result && result <= 10.01){
document.numbers.hyouji.value = document.numbers.hyouji.value+
"("+a0+opst[o0]+"("+a1+opst[o1]+a2+"))"+opst[o2]+a3+"="+result+"\n";
}

// (a0 o0 a1) o1 (a2 o2 a3)
result = k(k(a0, o0, a1), o1, k(a2, o2, a3));
if(9.99 <= result && result <= 10.01){
document.numbers.hyouji.value = document.numbers.hyouji.value+
"("+a0+opst[o0]+a1+")"+opst[o1]+"("+a2+opst[o2]+a3+")"+"="+result+"\n";
}

// a0 o0 ((a1 o1 a2) o2 a3)
result = k(a0, o0, k(k(a1, o1, a2), o2, a3));
if(9.99 <= result && result <= 10.01){
document.numbers.hyouji.value = document.numbers.hyouji.value+
a0+opst[o0]+"(("+a1+opst[o1]+a2+")"+opst[o2]+a3+")"+"="+result+"\n";
}

// a0 o0 (a1 o1 (a2 o2 a3))
0008JavaScriptNGNG
result = k(a0, o0, k(a1, o1, k(a2, o2, a3)));
if(9.99 <= result && result <= 10.01){
document.numbers.hyouji.value = document.numbers.hyouji.value+
a0+opst[o0]+"("+a1+opst[o1]+"("+a2+opst[o2]+a3+"))"+"="+result+"\n";
}

}
}
}
}

function calcAndPrint() {
document.numbers.hyouji.value = "";

num1 = document.numbers.n1.options[document.numbers.n1.selectedIndex].value;
num2 = document.numbers.n2.options[document.numbers.n2.selectedIndex].value;
num3 = document.numbers.n3.options[document.numbers.n3.selectedIndex].value;
num4 = document.numbers.n4.options[document.numbers.n4.selectedIndex].value;

check(num1, num2, num3, num4);
check(num1, num2, num4, num3);
check(num1, num3, num2, num4);
check(num1, num3, num4, num2);
check(num1, num4, num2, num3);
check(num1, num4, num3, num2);

check(num2, num1, num3, num4);
check(num2, num1, num4, num3);
check(num2, num3, num1, num4);
check(num2, num3, num4, num1);
0009JavaScriptNGNG
check(num2, num4, num1, num3);
check(num2, num4, num3, num1);

check(num3, num1, num2, num4);
check(num3, num1, num4, num2);
check(num3, num2, num1, num4);
check(num3, num2, num4, num1);
check(num3, num4, num1, num2);
check(num3, num4, num2, num1);

check(num4, num1, num2, num3);
check(num4, num1, num3, num2);
check(num4, num2, num1, num3);
check(num4, num2, num3, num1);
check(num4, num3, num1, num2);
check(num4, num3, num2, num1);

}


//-->
</script>

<form name="numbers">
<select name="n1">
<option selected value = 0>0
<option value = 1>1
<option value = 2>2
<option value = 3>3
<option value = 4>4
0010JavaScriptNGNG
<option value = 5>5
<option value = 6>6
<option value = 7>7
<option value = 8>8
<option value = 9>9
</select>

<select name="n2">
<option selected value = 0>0
<option value = 1>1
<option value = 2>2
<option value = 3>3
<option value = 4>4
<option value = 5>5
<option value = 6>6
<option value = 7>7
<option value = 8>8
<option value = 9>9
</select>

<select name="n3">
<option selected value = 0>0
<option value = 1>1
<option value = 2>2
<option value = 3>3
<option value = 4>4
<option value = 5>5
<option value = 6>6
<option value = 7>7
<option value = 8>8
0011JavaScriptNGNG
<option value = 9>9
</select>

<select name="n4">
<option selected value = 0>0
<option value = 1>1
<option value = 2>2
<option value = 3>3
<option value = 4>4
<option value = 5>5
<option value = 6>6
<option value = 7>7
<option value = 8>8
<option value = 9>9
</select>

<input type="button" value = "計算" onClick = "calcAndPrint();">

<br>
<textarea name="hyouji" rows = 10 cols = 50 >
</textarea>

</form>
<br>

</body>
</html>

0012JavaScript NGNG
<option value = 5>5
<option value = 6>6
<option value = 7>7
<option value = 8>8
<option value = 9>9
</select>

<select name="n2">
<option selected value = 0>0
<option value = 1>1
<option value = 2>2
<option value = 3>3
<option value = 4>4
<option value = 5>5
<option value = 6>6
<option value = 7>7
<option value = 8>8
<option value = 9>9
</select>

<select name="n3">
<option selected value = 0>0
<option value = 1>1
<option value = 2>2
<option value = 3>3
<option value = 4>4
<option value = 5>5
<option value = 6>6
<option value = 7>7
<option value = 8>8
0013JavaScriptNGNG
check(num2, num4, num1, num3);
check(num2, num4, num3, num1);

check(num3, num1, num2, num4);
check(num3, num1, num4, num2);
check(num3, num2, num1, num4);
check(num3, num2, num4, num1);
check(num3, num4, num1, num2);
check(num3, num4, num2, num1);

check(num4, num1, num2, num3);
check(num4, num1, num3, num2);
check(num4, num2, num1, num3);
check(num4, num2, num3, num1);
check(num4, num3, num1, num2);
check(num4, num3, num2, num1);

}


//-->
</script>

<form name="numbers">
<select name="n1">
<option selected value = 0>0
<option value = 1>1
<option value = 2>2
<option value = 3>3
<option value = 4>4
0014JavaScriptNGNG
result = k(a0, o0, k(a1, o1, k(a2, o2, a3)));
if(9.99 <= result && result <= 10.01){
document.numbers.hyouji.value = document.numbers.hyouji.value+
a0+opst[o0]+"("+a1+opst[o1]+"("+a2+opst[o2]+a3+"))"+"="+result+"\n";
}

}
}
}
}

function calcAndPrint() {
document.numbers.hyouji.value = "";

num1 = document.numbers.n1.options[document.numbers.n1.selectedIndex].value;
num2 = document.numbers.n2.options[document.numbers.n2.selectedIndex].value;
num3 = document.numbers.n3.options[document.numbers.n3.selectedIndex].value;
num4 = document.numbers.n4.options[document.numbers.n4.selectedIndex].value;

check(num1, num2, num3, num4);
check(num1, num2, num4, num3);
check(num1, num3, num2, num4);
check(num1, num3, num4, num2);
check(num1, num4, num2, num3);
check(num1, num4, num3, num2);

check(num2, num1, num3, num4);
check(num2, num1, num4, num3);
check(num2, num3, num1, num4);
check(num2, num3, num4, num1);
0015JavaScriptNGNG
<option value = 5>5
<option value = 6>6
<option value = 7>7
<option value = 8>8
<option value = 9>9
</select>

<select name="n2">
<option selected value = 0>0
<option value = 1>1
<option value = 2>2
<option value = 3>3
<option value = 4>4
<option value = 5>5
<option value = 6>6
<option value = 7>7
<option value = 8>8
<option value = 9>9
</select>

<select name="n3">
<option selected value = 0>0
<option value = 1>1
<option value = 2>2
<option value = 3>3
<option value = 4>4
<option value = 5>5
<option value = 6>6
<option value = 7>7
<option value = 8>8
0016デフォルトの名無しさんNGNG
8*(3-(7/4))=10
0017デフォルトの名無しさんNGNG
数字の中に0は有りなのか?
0018デフォルトの名無しさんNGNG
>>17
0001
だったりしたら「つくれない」が答えだと思われ。
0019デフォルトの名無しさんNGNG
>>18
10 + 0 + 0
0020デフォルトの名無しさんNGNG
>>19
ローカルルールがありそうだね…
0021デフォルトの名無しさんNGNG
>>1 括弧は使っていいんですか?
0022デフォルトの名無しさんNGNG
『1919』

はりきってどうぞ。
0023デフォルトの名無しさんNGNG
イクイクぱっくん
0024デフォルトの名無しさんNGNG
これって、なんかうまいアルゴリズムってあるんですか?
0025デフォルトの名無しさんNGNG
>>24
総当り
0026デフォルトの名無しさんNGNG
C数行で書けそう
0027デフォルトの名無しさんNGNG
>>22
√9 * √9 * 1 + 1
0028デフォルトの名無しさんNGNG
>>27
ルート無しの場合も考えてみて
002927NGNG
19 * 1 - 9とか
( 91 - 1 ) / 9とか






マジレス
( 1 / 9 + 1 ) * 9
0030デフォルトの名無しさんNGNG
evalが使える系だとちょろそう。
0031デフォルトの名無しさんNGNG
>>30
じゃあつくれ
0032デフォルトの名無しさんNGNG
>>31
他力本願はやめろ。
0033デフォルトの名無しさんNGNG
int get(int a1,int a2,int o){
switch(o){
case 0:
a1+=a2;
break;
case 1:
a1-=a2;
break;
case 2:
a1*=a2;
break;
case 3:
(a2==0) ?(0) :(a1/=a2);
break;
}return a1;}
char* getO(int n){
switch(n){
case 0:
return "+";
case 1:
return "-";
case 2:
return "*";
case 3:
return "/";
}}
0034デフォルトの名無しさんNGNG
int main(){
int res;
while(true){
int r;
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
for(int k=0;k<10;k++){
for(int n=0;n<10;n++){

for(int o1=0;o1<4;o1++){
int A=get(i,j,o1);
for(int o2=0;o2<4;o2++){
int B=get(A,k,o2);
for(int o3=0;o3<4;o3++){
if(B==10)
break;
int C=get(B,n,o3);
if(C==10)
{
printf("%d %s %d %s %d %s %d",i,getO(o1),j,getO(o2),k,getO(o3),n);
printf("\n");
}
}}}//for
}}}}
}
return 0;
}

0035デフォルトの名無しさんNGNG
あら、これじゃ抜けれないか。まぁどっかにbreakでも入れておいて>>1
0036デフォルトの名無しさんNGNG
>>33
演算子は優先順位無しで左結合扱いっていうルールか。

かっこの有無とか、並べて2桁の数字にしていいかとかでめんどくささが変わりそうね
0037デフォルトの名無しさんNGNG
>>4つの数字と四則演算を使って
>>4桁の数字の入力を受けて

2桁の数字もありなのか?どうなんだ?
0038デフォルトの名無しさんNGNG
1919 → (1+9) | (1+9) = 10 とかビット演算もアリにすると、もっと幅が広がりそうだな。
0039デフォルトの名無しさんNGNG
>>36
左右の数字をくっつける演算子を増やせばいいだけ。
0040デフォルトの名無しさんNGNG
基本: 演算は +(加算) -(減算) *(乗算) と商が整数になる /(除算) だけ。
追加1: %(剰余) を追加。
追加2: 結果が整数になる √(平方根) を追加(1, 4, 9)。
追加3: &(論理積)、|(論理和)、^(排他的論理和) を追加。
追加4: 2進数8桁の ~(ビット反転) を追加。
追加4': 10進数での ~(ビット反転) を追加。

とかなー
0041デフォルトの名無しさんNGNG
>>40
商は整数にならなくても最後につじつまが合えばよいのでは?
0042デフォルトの名無しさんNGNG
ものすげー適当。対応予定は括弧と平方根まで。
母者から教わったルールは2桁以上はなしで順番の入れ替えはありだよん

ival=inputbox("4桁の数字入れれ")
if len(ival)<>4 then wscript.quit
for q=0 to 4*4*4-1
op=q
oval=clng(mid(ival,1,1))
for r=2 to 4
select case op mod 4
case 0:oval=oval+clng(mid(ival,r,1))
case 1:oval=oval-clng(mid(ival,r,1))
case 2:oval=oval*clng(mid(ival,r,1))
case 3:oval=oval/clng(mid(ival,r,1))
end select
op=op\4
next
0043デフォルトの名無しさんNGNG
if oval=10 then
op=q
out=mid(ival,1,1)
for r=2 to 4
select case op mod 4
case 0:out=out&"+"&mid(ival,r,1)
case 1:out=out&"-"&mid(ival,r,1)
case 2:out=out&"*"&mid(ival,r,1)
case 3:out=out&"/"&mid(ival,r,1)
end select
op=op\4
next
msgbox out,4096,"でけた"
exit for
end if
next
0044C言語 ひたすら表示NGNG
#include <stdio.h>
int Count(int num1,int num2,int enzansi){
if(enzansi==3&&num2==0)return -32768;
return enzansi==0?num1+num2:enzansi==1?num1-num2:enzansi==2?num1*num2:num1/num2;}
char E(int enzansi){return enzansi==0?'+':enzansi==1?'-':enzansi==2?'*':'/';}
int main(void){
int num[4]={0};int enzansi[3];int a,n,c=0;
for(;num[3]<=9;){
for(a=0;a<=2;a++)enzansi[a]=0;
for(;enzansi[2]<=3;){
for(a=0,n=num[0];a<=2;a++)
n=Count(n,num[a+1],enzansi[a]);
if(n==10){printf("%d%c%d%c%d%c%d ",num[0],E(enzansi[0]),num[1],E(enzansi[1]),num[2],E(enzansi[2]),num[3],n);c++;
if(c%200==0){printf("続きを表示します 改行を押してください");getchar();}}
enzansi[0]++;for(a=0;a<=1;a++)if(enzansi[a]==4)
{enzansi[a]=0;enzansi[a+1]++;}}
num[0]++;for(a=0;a<=2;a++)if(num[a]==10){
num[a]=0;num[a+1]++;}}
printf("\n終了します 改行を押してください");getchar();return 0;}
0045デフォルトの名無しさんNGNG
あれだ、プログラムのっける人は、およその仕様をつけることにしようや。

かっこ有りとか無しとか。
使ってる演算子の種類とか。
0046デフォルトの名無しさんNGNG
せめて言語名と動作確認コンパイラ&実行環境を書いてほしい。
004744NGNG
>>45-46
>>44
言語:C(標準Cのみ) 動作:Cコンパイラ全般
○□○□○□○ (○==数値(0~9) □==演算子(+-*/))の組み合わせの
パターン(640000通り)の演算を行い、10に成るもののみ表示する。
演算は左から順番に行う。割り算は切り捨てる。
0048デフォルトの名無しさんNGNG

int add(int a,int b){ return a+b; }
int sub(int a,int b){ return a-b; }
int mul(int a,int b){ return a*b; }
int div(int a,int b){ return b ? a/b : 0x7fffffff; }
int mod(int a,int b){ return b ? a%b : 0x7fffffff; }
int and(int a,int b){ return a&b; }
int or(int a,int b){ return a|b; }
int xor(int a,int b){ return a^b; }

main()
{
  const int num=10;
  const int opn=8;
  int (*op[])(int,int)={add,sub,mul,div,mod,and,or,xor};
  char ops[]={'+','-','*','/','%','&','|','^'};

  for(int i=0; i<num; i++)
    for(int j=0; j<num; j++)
      for(int k=0; k<num; k++)
        for(int n=0; n<num; n++)
          for(int a=0; a<opn; a++)
            for(int b=0; b<opn; b++)
              for(int c=0; c<opn; c++)
                if(op[c](op[b](op[a](i,j),k),n)==10)
                  printf("((%d%c%d)%c%d)%c%d\n",i,ops[a],j,ops[b],k,ops[c],n);
}

c言語 
演算子は{'+','-','*','/','%','&','|','^'}; 2項演算子系なら簡単に追加可能
演算は左から順番
10と等しかったら表示する
0049デフォルトの名無しさんNGNG
>>48
ひさしぶりに気持ち良いプログラムをみた
0050デフォルトの名無しさんNGNG
>>49
かっこいい。int (*op[])(int,int)={add,sub,mul,div,mod,and,or,xor};は
関数のポインタと言うやつ?初めて見ますた。
005150NGNG
>>50 >>48でした。すいません。
0052デフォルトの名無しさんNGNG
与えられた4つの数字で10作れるか考えるプログラムも作ろうよ
0053デフォルトの名無しさんNGNG
除算は実数って気がするんだけど・・・
(3-7/4)*8
とか
(1/9+1)*9
とか認めたいし。
0054デフォルトの名無しさんNGNG
>53
それが 9.999... だったり 10.000... だったりにならなければな。

分子と分母(ともに整数)で分けて扱うとかな。
0055デフォルトの名無しさんNGNG
>>54
>6は9.99<10<10.01で判定しているようだが。
0056デフォルトの名無しさんNGNG
全件表示の仕様(演算子の種類とか整数か実数かとか)決めといて
実行速度競うってのどうよ?
0057デフォルトの名無しさんNGNG
>>56
表示速度争いは極度の不公平。
バックトラックだろうとこの程度の計算量では話にならん。

--------------------------終了------------------------
0058デフォルトの名無しさんNGNG
HSP厨にも是非参加して欲しい。
0059akiNGNG
http://f1.aaacafe.ne.jp/~pointc/log302.html
006048NGNG
>>59
うげ! 
自分が書いたのと怖いぐらいそっくりなモノがある・・・
関数名まで一緒だ・・・
0061デフォルトの名無しさんNGNG
累乗はだめ?
「2334」だと、2^4-3-3 しか答えがないような気がする。

あと、立方根とか。
「3448なら」3√8(8の立方根) +4+4
0062デフォルトの名無しさんNGNG
もうそのへんになると切符の数字組み合わせなんてホノボノしたものじゃなくなるんだが・・・
0063デフォルトの名無しさんNGNG
そういえば、√って1/2乗だからなー、別の数字使ってる気がして、
なんか√使うの反則な気もする
0064デフォルトの名無しさんNGNG
>>62
そだねーw

あと、「2258」lを、「log2(底)の8」+2+5とか・・・w
0065デフォルトの名無しさんNGNG
>>61
「2334」
( 4 / 3 + 2 ) * 3
「3448」
( 3 * 4 ) - ( 8 / 4 )

0066デフォルトの名無しさんNGNG
関数型ヲタが参戦してないな。
Cで足りるということか。
0067デフォルトの名無しさんNGNG
6789は?
0068デフォルトの名無しさんNGNG
>>67
(6*(7+8))/9
0069デフォルトの名無しさんNGNG
>>67-68
のようなやりとりをプログラムで実現しろというのが>>1の主張なのでは?
007042=68NGNG
>>69
今作ったトコなんだけど3448で>>65の答えが出てこなかったからやり直し中。
面倒くさいから環境はWSH。
007142=68NGNG
と思ったけど計算は3484だったか。

dim ival()
istr=inputbox("4桁の数字入れれ")
if len(istr)=4 then
redim ival(3)
for i=0 to 3
ival(i)=cint(mid(istr,i+1,1))
next

for i=0 to 3
for j=0 to 3
for k=0 to 3
for l=0 to 1
if l=1 then ival(0)=-ival(0)
for x=0 to 2
for y=0 to 1
ans=val(ival(x),i,ival(x+1))
out=val2(ival(x),i,ival(x+1))
select case x
case 0
select case y
case 0
ans=val(val(ans,j,ival(2)),k,ival(3))
out=val2(val2(out,j,ival(2)),k,ival(3))
case 1
ans=val(ans,k,val(ival(2),j,ival(3)))
out=val2(out,k,val2(ival(2),j,ival(3)))
end select
007242=68NGNG
case 1
select case y
case 0
ans=val(val(ival(0),j,ans),k,ival(3))
out=val2(val2(ival(0),j,out),k,ival(3))
case 1
ans=val(ival(0),k,val(ans,j,ival(3)))
out=val2(ival(0),k,val2(out,j,ival(3)))
end select
case 2
select case y
case 0
'やらない
case 1
ans=val(ival(0),k,val(ival(1),j,ans))
out=val2(ival(0),k,val2(ival(1),j,out))
end select
end select
if ans=10 then
if instr(replace(replace(out2,"(",""),")",""),replace(

replace(out,"(",""),")",""))=0 then
out2=out2&vbcrlf&" |"&out
end if
end if
out=""
007342=68NGNG
next
next
next
next
next
next
if len(out2)<>0 then
msgbox "  / ̄ ̄ ̄ ̄"&vbcrlf&"< でけた"&out2&vbcrlf&"  \____",vbcritical+4096,"10作る"
else
msgbox "  / ̄ ̄ ̄ ̄"&vbcrlf&"< できない"&vbcrlf&"  \____",vbcritical+4096,"10作る"
end if
end if
function val(a,op,b)
select case op
case 0:val=a+b
case 1:val=a-b
case 2:val=a*b
case 3:if b=0 then val=-100 else val=a/b
end select
end function
function val2(a,op,b)
select case op
case 0:val2=a&"+"&b
case 1:val2=a&"-"&b
case 2:val2=a&"*"&b
case 3:val2=a&"/"&b
end select
val2="("&val2&")"
end function

既出判定が汚い。
0074デフォルトの名無しさんNGNG
↑追記:小学生でもできる四則と括弧まで。では名無しに戻ります
0075デフォルトの名無しさんNGNG
Cで4桁の数字を引数にとるヤシ誰か書けよ
0076デフォルトの名無しさんNGNG
>>75
自分で書いて晒せ
0077デフォルトの名無しさんNGNG
a+b+c+d==10
a+b+c*d==10
a+b+c/d==10
...
a+b+c-d==10
...
いっぱいやってく?
0078デフォルトの名無しさんNGNG
0000〜9999の全てに場合の解答を用意する。高速。
0079デフォルトの名無しさんNGNG
まずはどれくらいの速さを高速とするか定義せよ。
0080デフォルトの名無しさんNGNG
じゃあ、最速
0081デフォルトの名無しさんNGNG
CPUは?
0082デフォルトの名無しさんNGNG
>>78
解答を用意する時間が掛かる。
0083デフォルトの名無しさんNGNG
四則演算で不可能な組合せは1101個
0084デフォルトの名無しさんNGNG
>>83
可能か不可能かだけじゃなくてカッコと演算子と数字の並びを全件書き出すべきだと思う。
>>6でそれができてるっぽいけど、ダブりが大杉
0085デフォルトの名無しさんNGNG
>>84
4-(9-(3*5))
4-(9-(5*3))
こういうのもダブり?
0086デフォルトの名無しさんNGNG
>85
だぶりだろうな。
0087デフォルトの名無しさんNGNG
項書き換え系の話題になってまいりました
0088デフォルトの名無しさんNGNG
この手のネタ、「C言語による最新アルゴリズム事典」に載ってなかった?
小町算とかいう江戸時代の・・・・・
0089デフォルトの名無しさんNGNG
全体に-かけた
4-(9-3*5)
3*5-9+4
これもだぶりだよね?
0090デフォルトの名無しさんNGNG
あ、違った。忘れて……
0091デフォルトの名無しさんNGNG
でもだぶりには違いないよね。
0092デフォルトの名無しさんNGNG
>>89-90

4-(9-3*5)と
4+(3*5-9)
っていうのがいいたかったんしょ
009392NGNG
っていうか、
4+(3*5-9)と
4+3*5-9 はだぶりなんだろうか・・・
0094デフォルトの名無しさんNGNG
5/(2/(7-3))と5*(7-3)/2もだぶり
0095デフォルトの名無しさんNGNG
漏れの中では括弧をとっても同じ式になるものをダブりだと思ってたが
随分減るな
0096デフォルトの名無しさんNGNG
(2/1)/(1/5)
(5/1)/(1/2)
(2*1)/(1/5)
(5*1)/(1/2)

こういうのは?
0097デフォルトの名無しさんNGNG
1+2+3+4
(1+2+3+4)
((1+2+3+4))
(((1+2+3+4)))
0098デフォルトの名無しさんNGNG
((((;゚Д゚))))ガタガタブルブル
0099デフォルトの名無しさんNGNG
(;゚Д゚)ガタ

((;゚Д゚))ガタガタ

(((;゚Д゚)))ガタガタブル

((((;゚Д゚))))ガタガタブルブル
0100デフォルトの名無しさんNGNG
つーか、あれだ。
標準的な記述方法を決めて、ある式が与えられた時それを標準化する方法を決めて、
標準形式になったヤシを同値類とかんがえればよいのだ。
0101デフォルトの名無しさんNGNG
>>100
その標準方法を決めるのが、大変そう
■ このスレッドは過去ログ倉庫に格納されています