Java最基础的算法逻辑题,新手一定要看看呀。

这篇博客介绍了11道适合新手的Java算法逻辑题目,包括水仙花数、珠穆朗玛峰高度模拟、不死神兔问题、百钱百鸡问题等,覆盖了数字操作、递推关系、数组操作等多个基础算法概念。通过解决这些问题,读者可以提升对Java编程和基础算法的理解。
摘要由CSDN通过智能技术生成

1.水仙花*

需求:在控制台输出1000以内的所有“”水仙花数“”
什么是水仙花数?水仙花数是个位、十位、百位的立方和等于原数的数。比如:333+777+111=371.`

public class ShuiXianHua {

	public static void main(String[] args) {
	//输出所有的水仙花数必然要使用到循环,遍历所有的三位数,三位数从100开始,到999结束
		
/*分析:水仙花数是指:一个三位数,其各位数字立方和等于该数本身。

  */
		for(int i=1;i<1000;i++) {
		//在计算之前获取三位数中每个位上的值
		int	bai=i/100;
		int	shi=i/10%10;
		int	ge=i%10;
		//判定条件是将三位数中的每个数值取出来,计算立方和后与原始数字比较是否相等
			if(bai*bai*bai+shi*shi*shi+ge*ge*ge==i) {
			//输出满足条件的数字就是水仙花数
				System.out.println(i);
				
			}
			
		}

	}

}

拓展:如果问1000以内的水仙花数是多少个呢?

public class 水仙花 {

		public static void main (String[]_args) {
		//定义变量count,用子保存“水仙花数"的数量,初始值为o
		int count = 0;
		//输出所有的水仙花数必然要使用到循环,遍历所有的三位数,三位数从100开始,到999结束
		for(int i=100; i<1000; i++){
		//在计算之前获取三位数中每个位上的值
		int ge = i/10;
		int shi = i/10%10;
		int bai = i/10/10%10;
		//在判定水仙花数的过程中,满足条件不再输出,更改为修改count的值,使count+1
		if (ge*ge*ge + shi*shi*shi + bai*bai*bai==i) { 
		          count++;
		}
		}
		//打印输出最终结果
		System.out.println("水仙花共有: "+count+"个");


	}

  }

*## 2.珠穆朗玛峰

需求:世界最高山峰是珠穆朗玛峰8844.43米= 844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。
请问,我折最多少次,可以折成珠穆朗玛峰的高度?

public class Zhu {

	public static void main(String[] args) {
		int count=0;
		int zhu=8844430;
		double paper= 0.1;
		
		while(paper<=zhu){
//			纸张的倍数
			paper*=2;
			
			count++;
			
		}
		System.out.println("需要折叠的次数为:"+count);
	}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值