C/C++の宿題片付けます 141代目
■ このスレッドは過去ログ倉庫に格納されています
0538デフォルトの名無しさん
2010/10/23(土) 23:07:28#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, j, n, m, temp, *p, *q, pos;
printf("n = ");
scanf("%d", &n);
printf("m = ");
scanf("%d", &m);
p = malloc(n * sizeof(int));
for(i = 0; i < n; i++) p[i] = i + 1;
for(i = pos = 0; i < n; i++) {
q = p + i;
pos = (pos + m - 1) % (n - i);
temp = q[pos];
for(j = pos; j > 0; j--) q[j] = q[j - 1];
q[0] = temp;
}
for(i = 0; i < n; i++) printf("%d ", p[i]);
free(p);
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています