相信大家都对枚举算法不陌生吧!
枚举算法:顾名思义,枚举,就是一一列出来,然后找到你所需要的解决方法即可,不过用人脑去算如果需要枚举很多数字,那显然是不划算的,我们可以利用计算机的计算功能很快的解决,但是虽然计算机计算的很快,但是往往在一些算法竞赛中是规定了时间限制和内存限制的,时间限制一般为1000ms
我们来看一道题目:
一个工厂有甲乙丙丁四名工人,他们一共生产了370个产品,恰巧当甲多生产10个,乙少生产20个
丙生产原来的2倍,丁生产原来的1/2倍,他们四个生产的数量相同,求他们原来各生产多少产品
我们看了一下有四个变量需要求解,那简单啊,四个for循环再用一个if来找出符合条件的解
代码1:
public class DoubleFor {
public static void main(String[] args) {
// TODO Auto-generated method stub
long start = System.currentTimeMillis(); //计算开始时间
for(int a = 1;a<=370;a++) {
for(int b = 1;b<=370;b++) {
for(int c = 1;c<=370;c++) {
for(int d = 1;d<=370;d++) {
if(a+10 == b-20 && b-20 =&