《Java语言程序设计与数据结构》编程练习答案(第七章)(二)
英文名:Introduction to Java Programming and Data Structures, Comprehensive Version, 11th Edition
7.14
import java.util.Scanner;
public class book {
public static void main(String[] args)
{
System.out.print("Enter 5 numbers: ");
Scanner input = new Scanner(System.in);
int[] ass = new int[5];
for(int i=0;i<5;i++)
{
ass[i]=input.nextInt();
}
System.out.println("The gcd of the numbers is "+gcd(ass));
}
public static int gcd(int... numbers)
{
if(numbers.length==1)
return numbers[0];
else if(numbers.length==2)
return gcd(numbers[0],numbers[1]);
else
{
int gcd = gcd(numbers[0],numbers[1]);
for(int i=2;i<numbers.length;i++)
gcd=gcd(gcd,numbers[i]);
return gcd;
}
}
public static int gcd(int n1,int n2)
{
int gkd = Math.min(n1,n2);
while((!(n1%gkd==0&&n2%gkd==0))&&gkd>=2)
gkd--;
return gkd;
}
}
7.15
import java.util.Scanner;
public class book {
public static void main(String[] args)
{
System.out.print("Enter 10 numbers: ");
Scanner input = new Scanner(System.in);
int[] ass = new int[10];
for(int i=0;i<10;i++)
{
ass[i]=input.nextInt();
}
int[] jj = eliminateDuplications(ass);
System.out.print("The distinct numbers are: ");
for (int value : jj) System.out.print(value + " ");
}
public static int[] eliminateDuplications(int[] list)
{
int ptr = 0;
int len = list.length;
int[] ass = new int[len];
for (int item : list) {
int occur = 0;
for (int j=0;j<ptr;j++) {
if (item == ass[j])
occur++;
}
if (occur == 0) {
ass[ptr] = item;
ptr++;
}
}
int[] dick = new int[ptr];
System.arraycopy(ass, 0, dick, 0, ptr);
return dick;
}
}
7.16
public class book {
public static void