|
2重ループはないですw
乱数生成にかかったループの回数を比較するとわかりやすいかな。
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
main(){
int a[MAX]={0};
int cnt,i,loop=0;
srand(time(NULL));
for(cnt=0;cnt < MAX;){
i = rand()%MAX;
if(a[i] == 0){
a[i] = 1;
printf("%d\n",i);
cnt++;
}
loop++;
}
printf("ループ回数は%d回\n",loop);
}
main(){
int a[MAX];
int buf,i,j,loop=0;
for(i = 0;i < MAX;i++){
a[i] = i;
loop++;
}
for(i = 0;i < MAX;i++){
j = rand()%MAX;
buf = a[i];
a[i] = a[j];
a[j] = buf;
loop++;
}
for(i = 0;i < MAX;i++) printf("%d\n",a[i]);
printf("ループ回数は%d回\n",loop);
}
|