栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

day04

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

day04

Task01 题目

定义方法,判断一个数是否是丑数。

代码
package day04;

import java.util.Scanner;

public class Task01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        if(judge(a)){
            System.out.println(a+" 是一个丑数。");
        }
        else{
            System.out.println(a+" 不是一个丑数");
        }

    }
    public static boolean judge(int a){
        for(int i = 2;i <= a;i++){
            if(a % i== 0&&(i != 2 && i != 3 && i != 5)&&judgePrime(i)){

                return false;
            }
        }
        return true;

    }
    public static boolean judgePrime(int a)
    {
        for(int i = 2;i <= a-1;i++){
            if(a % i == 0) return false;
        }
        return true;
    }
}
结果

Task02 题目

一个楼梯有n (n >= 1)级,每次走1级或两级,请问从1级台阶走到第n级台阶一共有多少种走法(假设一开始站在第0级台阶上)

代码
package day04;

import java.util.Scanner;

public class Task02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        System.out.println("从1级台阶走到第"+n+"级台阶一共有"+recurse(n)+"走法");
    }
    public static int recurse(int n){
        if(n == 1){
            return 0;
        } else if(n == 2) {
            return 1;
        }else{
            return recurse(n-1) + recurse(n-2);
        }
    }
}
结果

Task03 题目

计算n条直线最多能把平面分成多少部分? n >= 1

代码
package day04;

import java.util.Scanner;

public class Task03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        System.out.println(n+"直线最多能把平面分成"+recurse(n)+"部分");
    }
    public static int recurse(int n){
        if(n == 1){
            return 2;
        }
        else{
            return recurse(n-1) + n;
        }
    }
}
结果

Task04 问题

猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个; 第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天 想再吃时,只剩下一个桃子了。
问第i(i的取值范围为[1, 10])天的桃子个数?

代码
package day04;

import java.util.Scanner;

public class Task04 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        System.out.println("第"+n+"天的桃子个数为:"+recurse(n));
    }
    public static int recurse(int n){
        if(n == 10){
            return 1;
        }else{
            return (recurse(n+1)+1)*2;
        }
    }
}
结果

附加题 题目

给定一个数组,将数组中的元素循环向右移动 k 个位置,其中 k 是非负数。

举例
输入: [1,2,3,4,5,6,7] 和 k = 3
输出: [5,6,7,1,2,3,4]

代码
package day04;

import java.util.Scanner;

public class 附加题 {
    public static void main(String[] args) {
        int array [] = {1,2,3,4,5,6,7,8,9};
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        n = n % array.length;
        for (int i = array.length - n; i <= array.length-1; i++) {

            System.out.print(array[i]+" ");
        }
        for (int i = 0; i < array.length - n; i++) {

            System.out.print(array[i]+" ");
        }
    }
}
结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/694693.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号