java基础习题

本文介绍了如何用Java实现素数检测算法,包括优化的检查过程;展示了斐波那契数列的递归和循环计算方法;以及使用异或操作寻找数组中单身元素的方法。通过这些实例,深入浅出地探讨了信息技术中的基本概念和技术应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

判断一个数是否为素数

public class SuShu {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
         int n=in.nextInt();

            for (int i = 2; i <=n/2; i++) {    //优化,最初为n,可改为n/2,最后改为根号n
                if(n%i==0){
                    System.out.println(n+"不是素数");
                    break;
                }
                if(i>=n/2){
                    System.out.println(n+"是素数");
                }
            }
    }
}

斐波那契数输出

public class FeiBoNaQie {
    public static void main(String[] args) {
        int i=8;
        System.out.println(feibo(i));
        System.out.println(fib(i));
    }
    public static  int feibo(int n){     //0为起始  (递归方法)
        if(n==0||n==1){
            return 1;
        } else{
            return feibo(n-1)+feibo(n-2);
        }
    }
    public static int fib(int n){     //1为起始   (循环)
        int f1=1;
        int f2=1;
        int f3=1;
        for (int i = 3; i <n; i++) {
            f3 = f1+f2;
            f2 =f3;
            f1 = f2;

        }
        return f3;
    }
}

寻找单身狗(异或思想)

public class yihuo {
    public static  void bt(int [] a){
        int sec =0;
        for (int i = 0; i <a.length ; i++) {
            sec^=a[i];
        }
        System.out.println(sec);
    }
    public static void main(String[] args) {
        int []a={1,9,3,6,1,9,3};
        bt(a);
    }
}

汉诺塔问题(递归思想)

import java.util.Scanner;

public class HanNuoTa {
    public static void main(String[] args) {
        System.out.println("输入要移动的数量:");
        Scanner in = new Scanner(System.in);
        int i=in.nextInt();
        hanNuo(i,'a','b','c');
    }
    /*
     * i:数量
     * pan1:起始
     *pan2:中转
     * pan3:目的
     */
    public  static  void hanNuo(int i,char pan1,char pan2,char pan3){
        if (i ==1){
            move(pan1,pan3);     //从a到c
            return;
        }else  {
            hanNuo(i-1,pan1,pan3,pan2);    //将底盘以上的盘子移到中转站
            move(pan1,pan3);                  //将底盘的盘子移到目的站
            hanNuo(i-1,pan2,pan1,pan3);      //将中转站的盘子移到目的站
        }
    }
    public static void move(char pan1,char pan2){
        
        System.out.print(pan1+"->"+pan2+"  ");
    }
}

阶乘

public class N {
    public static void main(String[]args){
        int i=5;
        System.out.println(nJie(i));
    }

    public static int nJie(int n){    //递归思想
        if(n==1){
            return 1;
        }else{
           return nJie(n-1)*n;
        }
    }
}

阶乘和

import java.util.Scanner;

public class jiecheng {
    public static int  qiuhe(int n){
        int sum = 0;
        for (int i = 1; i <=n; i++) {
            sum +=jiecheng(i);
        }
        return sum;
    }
    public  static  int jiecheng(int n){
        int ret = 1;
        for (int i = 1; i <= n; i++) {
            ret*=i;
        }
        return ret;
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("输入阶乘和数:");
        int i = in.nextInt();
        System.out.print("结果为:");
        System.out.println(qiuhe(i));

    }
}

奇偶排序(奇数在前)

public class ShuZu {
    public static  void paiXu( int[] a) {       //奇数偶数排序
        for (int i = 0; i <5 ; i++) {
            int tmp=0;
            if(a[i]%2==0){
                a[i]=tmp;   a[i]=a[i+1]; a[i+1]=tmp;    思想:相邻对比,偶数后移
            }
        }
    }

    public static void shuChu(int [] a){   //定义方法输出数组
        for (int i = 0; i <5 ; i++) {
            System.out.print(a[i]+" ");
        }
    }

    public static void main(String[] args) {
        int[ ] a = {1,8,3,7,10,6};
        paiXu(a);
        shuChu(a);
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值