import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args){
// Scanner s = new Scanner(System.in);
// System.out.println("请输入一个数字");
// int num = s.nextInt();
//数组与函数的结合
Scanner s = new Scanner(System.in);
int []a = {1,2,3,4,5,6};
reverseArray(a);
for(int i = 0 ; i < a.length ; i++)
System.out.println(a[i]);
int [] b = getSons(10);
PrintArray(b);
}
//实现任意数组的倒置
//为什么不需要返回值,因为a数组指向了一块内存
//此时函数形参一样指向了数组a的地址
//该函数完全没有必要有返回值
public static void reverseArray(int []a)
{
for(int i = 0 ; i < a.length/2 ; i++){
int t = a[i];
a[i] = a[a.length-i-1] ;
a[a.length-i-1] = t ;
}
}
//计算一个数字因子的个数
public static int getLenght(int n){
int count = 0 ;
for(int i = 1 ; i <= n / 2 ; i++)
{
if(n % i == 0)
count++ ;
}
count++;
return count ;
}
//求一个数的因子(包含1也包含自己),放入数组并返回
public static int[] getSons(int n){
int []a = new int[getLenght(n)] ;
int j = 0 ;
for(int i = 1 ; i <= n / 2 ; i++){
if(n % i == 0)
a[j++] = i ;
}
a[j] = n ;//自己也要放进去
return a ;
}
//打印数组元素
public static void PrintArray(int []a){
for(int i = 0 ; i < a.length ; i++)
System.out.println(a[i]+" ");
System.out.println();
}
}