C/C++の宿題を片付けます 76代目
■ このスレッドは過去ログ倉庫に格納されています
0555デフォルトの名無しさん
2006/11/14(火) 22:59:03#include<stdio.h>
#define N 52 /* トランプの枚数 */
int main( void )
{
int k, i;
int cards[ N ]; /* トランプ */
int temp[ N ]; /* 一時的にトランプの札を移動 */
int count = 0; /* 切った回数 */
int cards_at_begining[N];
for( k=0; k<N; k++ ) {
cards[ k ] = k+1;
cards_at_begining[k] = k+1;
}
while( 1 ) {
loop_start:
count++; /* 回数を一回増分 */
for (i=0; i<N/2; i++) { /* shuffle */
temp[i]=cards[2*i];
temp[i+M]=cards[2*i+1];
}
for (i=0; i<N; i++)
cards[i]=temp[i];
for (i=0; i<N; i++) { /* check */
if (cards[i] != cards_at_begining[i])
goto loop_start;
}
break;
}
printf( "%d 回目で元に戻る", count );
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています