zl程序教程

您现在的位置是:首页 >  后端

当前栏目

基础算法练习200题06、分练习本

算法基础 练习 06 200
2023-09-14 09:04:59 时间

📋前言📋
💝博客:【红目香薰的博客_CSDN博客-计算机理论,2022年蓝桥杯,MySQL领域博主】💝

✍本文由在下【红目香薰】原创,首发于CSDN✍

🤗2022年最大愿望:【服务百万技术人次】🤗

💝专栏地址:【https://blog.csdn.net/feng8403000/category_11958599.html】💝 


      为了帮助很多想搞算法但又害怕自己搞不定的孩子们,老师付准备了200个入门的逻辑练习题,在这200个逻辑练习题下可以加强你们的基础算法能力,以次为基础当面对正式的算法题目的时候可以得心应手的面对。 

题目:

学校买来一些练习本n本,分给15个班,每班164本,还剩420本,学校买来多少练习本?

题解:

n=15*164+420

n=2880 

package com.item.action;
/**
 * 
 * @author hongmuxiangxun 红目香薰 付文龙 老师付 laoshifu
 *
 */
public class demo6 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(15*164+420);
	}

}

题目升级:

学校买来一些练习本n本,少于一千本,分给3个班,第1个班级是第2个班级的3倍,第2个班级是第3个班级的2倍刚好分完,学校买来多少练习本,求满足条件中的最大值?

题解:

由于只知道倍数关系,只能列方程,

设第3个班级是数量是x,第2个班级是2x,第1个班级是3*2x。

故而有:

n(1000)=x+2x+3*2x

n(1000)=9x

x=n/9(使用整数除法,默认去掉小数)

x=111

最终能确认,学校买了999本练习本。

使用穷举法可以看到所有符合一千以内9x的值,输出最大即可。 

package com.item.action;

import java.util.LinkedList;
import java.util.List;

/**
 * 
 * @author hongmuxiangxun 红目香薰 付文龙 老师付 laoshifu
 *
 */
public class demo6 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		List<Integer> list=new LinkedList<Integer>();
		for (int i = 9; i < 1000; i=i+9) {
			list.add(i);
		}
		//输出最后一个
		System.out.println(list.get(list.size()-1));
	}

}