求~~~随机产生10个1-100之间不相同的整数,输出所有的素数。
随机产生10个1-100之间不相同的整数,输出所有的素数。
if(isp(random)==true) { a[i]=random; i++; len--; } } //Sort ... for(i=0;i<9;i++) { for(j=i+1;j<10;j++) { if(a[i]>a[j]) { m=a[i];a[i]=a[j];a[j]=m; } } } //Delete repeat number in array i=0,j=0,k=0,len=10; while(i<len) { if(a[i]==a[i+1]) { i++; k++; continue; } a[j]=a[i]; j++; i++; } //Add differnet random prime number in array. len-=k; do { random=rand()%(100-1)+1; if(isp(random)==false) continue; for(i=0;i<len;i++) { if(a[i]!=random) { j++; } } if(j==len) { a[len]=random; len++; j=0; count++; }else{ j=0; } }while(count!=k); //display 10 different random prime number. for(i=0;i<len;i++) { printf ("%i ",a[i]); } printf ("\n"); return 0; } //Function isp,judge prime bool isp (int n) { bool result=true; int i; for(i=n-1;i>1;i--) { if(n%i==0) { result=false; break; } } return result; } root@~ #./randarray.exe 2 5 23 29 41 53 59 97 67 3 root@~ #./randarray.exe 1 2 13 19 67 73 79 83 89 37 root@~ #./randarray.exe 2 13 23 41 53 73 79 97 11 89 root@~ #