java基础练习题—day01

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),
几个数相加有键盘控制。

package com.atguigu.java;

import java.util.Scanner;

/**
 * 
 * @create 2021-04-10 15:16
 * 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),
几个数相加有键盘控制。
 分析:输入的a是多少
 几个数相加

 */
public class Example8 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("输入相加的值: ");
        int a = sc.nextInt();
        System.out.println("输入相加的次数: ");
        int num = sc.nextInt();  //相加的次数
        double sum = 0;
        for(int j = 1;j<=num;j++){
            sum = sum + recursion(a,j);


        }

        System.out.println("和为:"+sum);
    }
    public static double  recursion(int a,int num){
        double temp;
        double sum = 0 ;
        for(int i = 1;i<=num;i++ ){
            temp = 2*Math.pow(10,i-1);
            sum = sum +temp;

        }

        return sum;

    }

}

 题目:判断任意一个输入的整数是否是完数。一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.


import java.util.Scanner;
/**
 * 
 * @create 2021-04-10 16:28
 *
 * 分析:因子:就是除了本省之外能够被整除的数
 * 判断任意一个输入的整数是否是完数
 */
public class Example9 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输出一个整数:");
        int num = sc.nextInt();
        int sum =0;
        for(int i = 1;i<num;i++){
            if(num%i==0){
                sum+=i;
            }
        }
        if(sum == num){
            System.out.println(num+"是完数");

        }


    }



}

 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数并统计个数。



/**
 *
 * @create 2021-04-10 16:40
 * 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。
 */
public class Example9_1 {
    public static void main(String[] args){
        int count = 0;
        for(int num = 1;num<1000;num++){
            int sum =0;
            for(int i = 1;i<num;i++){
                if(num%i==0){
                    sum+=i;
                }
            }
            if(sum == num){
                System.out.println(num+"是完数");
                count++;

            }


        }
        System.out.println("1000以内共有完数"+count+"个");
        }

        }

 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多
少米?第10次反弹多高? 


/**
 * 
 * @create 2021-04-10 18:27
 * 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多
 * 少米?第10次反弹多高?
 *
 */
public class Example10 {
    public static void main(String[] args){
        double height = 100;
        double  sum = 0;
        for(int i = 1;i<=10;i++){
            if(i == 1){
                sum = sum + height;
                height = height/2;

            }else{
                sum = sum + 2*height;
                height = height/2;
            }

        }
        System.out.println("一共经历"+sum+"米");
        System.out.println("第10次反弹"+height +"米");


    }
}

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?



/**
 * 
 * @create 2021-04-10 18:41
 * 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
 * 用排列组合求解:C41+C31+C21=24个
 */
public class Example11 {
    public static void main(String[] args){
        int i = 0; //百位数字
        int j = 0; //保存到十位上的数字
        int k = 0; //保存到个位上的数字
        int count = 0; //保存数字的个数
        for(i = 1; i <= 4; i++) {
            for(j = 1; j <= 4; j++) {
                for(k = 1; k <= 4; k++) {
                    if(i != j&& j != k && i!= k) { //保证互不相同且无重复数字
                        count++;
                        System.out.println(i*100 + j*10 + k);
                    }
                }
            }
        }
        System.out.println("总共能够组成" + count + "个互不相同且无重复数字的三位数");
    }

}

 

 

题目来源: https://blog.csdn.net/qiucaijuan/article/details/6650925

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值