0

私はプログラミングが初めてで、3 つの乱数 XY と Z を取り、Min、Max 関数と変数 (tmp) を使用して X が最低、Z が最高になるように昇順に並べ替えるプログラムを作成しようとしています。

最初に (X,Y) ペアに影響を与え、次に (Y,Z)、次に (X,Y) に影響を与える特定の戦略を使用する必要があることは知っていますが、ロジックを把握できません。

私がこれまでに得た最も近いものは...

y=min(y,z)
x=min(x,y) 
tmp=max(y,z) 
z=tmp 
tmp=max(x,y) 
y=tmp 
x=min(x,y) 
tmp=max(x,y) 
y=tmp 

私は非常に多くの異なる組み合わせを試しましたが、問題は解決できないようです。他の誰かが助けてくれますか?

4

2 に答える 2

1

X、Yペアを最初に並べ替える必要があります

tmp=min(x,y)
y=max(x,y)
x=tmp

次に、Y、Z ペアを並べ替えます

tmp = min(y,z)
z=max(y,z)
y=tmp

次に、X、Y のペアを並べ替えます (元の Z が最小値だった場合...

tmp=min(x,y)
y=max(x,y)
x=tmp

あなたが言及したコマンドがウェブサイトで利用できる唯一のコマンドであり、それぞれを一度しか使用できない場合は、次を試してください。

# Sort X,Y pair
tmp=max(x,y) 
x=min(x,y) 
y=tmp 

# Sort Y,Z pair
tmp=max(y,z) 
y=min(y,z)
z=tmp 

# Sort X,Y pair again.
tmp=max(x,y) 
x=min(x,y) 
y=tmp 

それが役立つことを願っています。

于 2013-08-08T09:40:16.940 に答える
0

あなたの質問を正しく理解したかどうかはわかりませんが、変数を正しすぎています。それとも、min() と max() 関数のみを使用するという制限でいくつかの宿題を解決しようとしていますか?

リストを使うとどうなる?

tmp = [x, y, z]
tmp.sort()
x, y, z = tmp
于 2013-08-08T08:57:25.827 に答える