- package test;
- import java.util.Arrays;
- public class Demo {
-
- /**
- * @param args
- * @throws IOException
- */
- public static void main(String[] args) {
-
- int[] arr = new int[]{2,5,9,10,48,95,154,31,59,69};
- System.out.println("第一题结果:"+getPrime(100));//
- sort(arr);
- for(int i=0;i<arr.length;i++){
- for(int y=0;y<i;y++)
- System.out.print(" ");
- System.out.println(arr[i]);
- }
-
- System.out.println("第三题结果:");
- show(9);
- }
-
- public static int getPrime(int num){//要计算的数,此处为100;
- int sum = 0;
- a:for(;num>1;num--){//遍历num 以内的数
- b:for(int i=2;i<num;i++){//遍历num以内整除的数
- if(num%i==0)
- continue a;//整除就回到 a;
- }
- sum+= num;
- }
- return sum;
- }
-
- public static int[] sort(int[] arr){
- Arrays.sort(arr);//排序
- a:for(int x=0;x<arr.length;x++){//替换质数
- for(int y=2;y<arr[x];y++){
- if(arr[x]%y==0)
- continue a;}
- arr[x] = 0;
- }
- return arr;
- }
-
- public static void show(int num){//倒序打印
- for(int x=num;x>0;x--){
- for(int y=x;y<num;y++)
- System.out.print("\t");//每一行的开头的空格数
- for(int i : get(x))
- System.out.print(i+"\t\t");//每一行的2个数之间空2个 tab
- System.out.println();
- }
- }
-
- public static int[] get(int num){//获取每一行的数组
- int[] arr0 = new int[]{1,1};
- int[] arr1 = new int[]{1};
- if(num == 1)
- return arr1;
- else if(num == 2)
- return arr0;
- for(int i=3;i<=num;i++){
- arr1 = new int[i];
- arr1[0] = 1;
- arr1[i-1] = 1;
- for(int x=1;x<i-1;x++){
- arr1[x] = arr0[x-1] + arr0[x];
- }
- arr0 = arr1;
- }
- return arr1;
- }
- }
- /*
- 第一题结果:1060
- 0
- 0
- 9
- 10
- 0
- 48
- 0
- 69
- 95
- 154
- 第三题结果:
- 1 8 28 56 70 56 28 8 1
- 1 7 21 35 35 21 7 1
- 1 6 15 20 15 6 1
- 1 5 10 10 5 1
- 1 4 6 4 1
- 1 3 3 1
- 1 2 1
- 1 1
- 1
- */
复制代码 |