int lowerIndex = i;
// 找出最小的一个索引
for (int j = i + 1; j < x.length; j++) {
if (x[j] < x[lowerIndex]) {
lowerIndex = j; } }
// 交换
int temp = x[i];
x[i] = x[lowerIndex];
x[lowerIndex] = temp; }
for (int i : x) {
System.out.print(i + ‖ ‖); } }
// 插入排序
public static void chaRu(int[] x) {
for (int i = 1; i 从1开始,因为第1个数已经是排好序的
for (int j = i; j > 0; j–) {
if (x[j] < x[j - 1]) {
int temp = x[j];
x[j] = x[j - 1];
x[j - 1] = temp; } } }
for (int i : x) {
System.out.print(i + ‖ ‖); } } }
16.编写程序,产生30个素数,按从小到大的顺序放入数组prime[]中。
public class PrimeArray {
public static void main(String args[]) {
int[] primearry=new int[30];
primearry[0]=2;
int num=1;
System.out.print(2 + ‖ ‖);
for(int i=3;i<=1000;i+=2){
boolean f = true;
for (int j=2;j
if(i % j == 0){ f= false; break; } }
if(!f) {continue;}
primearry[num++]=i;
System.out.print(i + ‖ ‖);
if(num%5 == 0)System.out.println();
if(num==30)break; } } }
17. 一个数如果恰好等于它的因子之和,这个数就称为―完数‖。分别编写一个应用程序和小应用程序求 1000之内的所有完数。
public class Wanshu {
public static void main(String[] args) {
int sum=0,i,j;
for(i=1;i<=1000;i++) {
for(j=1,sum=0;j
if(i%j==0)
sum=sum+j; }
if(sum==i) {
System.out.print (―完数:‖+i+‖ ‖+‖其因子是:― );
for(int k=1;k<=sum/2;k++) {
if(sum%k==0)
System.out.print(― ‖+k); }
System.out.println(); } }