求~~~随机产生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@~ #
