我的老师让我创建一个将被执行1M次的循环。我试过,但程序崩溃了。程序接受的最大数量是10.000。如何用随机数字创建一个循环1M> 100000
任何想法?这可能吗?
他还要求我创建一个大于100.000的随机数。我正在使用rand();
。我应该使用不同的方法吗?
这是代码:
start_time = clock();
for(long i=0;i<1000000;i++){
num1 = rand();
num2=rand();
gcd1(num1,num2);
}
end_time = clock();
elapsed_time = (end_time - start_time)/CLOCKS_PER_SEC;
printf("time is %.3f seconds\n", elapsed_time);
system("pause");
这最大公约数:
int gcd1(int x, int y){
int z;
if (x<y)
z=x+1;
else if (y<x)
z=y+1;
do{
z=z-1;
}
while((x%z!=0) or (y%z!=0));
return z;
}
}
我来划分刚刚为您创建了一个随机数:100001. – hirschhornsalz 2011-05-16 20:47:53
什么是“1M次”?一千?一百万?一毫秒?此外,你真的应该发布崩溃的代码。如果没有来自循环内容的帮助,你给出的循环可能不会崩溃。 – 2011-05-16 20:49:25
应标记作业。 – 2011-05-16 20:49:50