几个数字求乘积最大或者最小,思路是啥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了几个数字求乘积最大或者最小,思路是啥相关的知识,希望对你有一定的参考价值。
例如求12345678,8个数字组成两个四位数,要使乘积最大或者最小,怎么样思考。要求小学六年级学生能接受的思路。或者有固定的解题方法也可
真心不满意。8642*7531就是最大?不会吧。
随便输入了一下8642*7531=65082902
8521*7643=65126003
感谢另一位网友的解答。我把位数提高就是为了寻找方法。
但非常感谢。。。。
小学肯定不会有8位数的了,一般是4个或者5个,让学生锻炼一下乘法的能力。
大数放在第一个,比如12345 5和4一定要放在两个相乘数的第一位上,剩下的也没几种配合了,算一下就行了,531*42 532*41 521*43就这三种了。
学数学的小窍门
1、学数学要善于思考,自己想出来的答案远比别人讲出来的答案印象深刻。
2、课前要做好预习,这样上数学课时才能把不会的知识点更好的消化吸收掉。
3、数学公式一定要记熟,并且还要会推导,能举一反三。
4、学好数学最基础的就是把课本知识点及课后习题都掌握好。
5、数学80%的分数来源于基础知识,20%的分数属于难点,所以考120分并不难。
6、数学需要沉下心去做,浮躁的人很难学好数学,踏踏实实做题才是硬道理。
参考技术A 首先,最大的两个数肯定要分别放在两个四位数的第一位,8XXX*7XXX,剩下几个数里面的最大的5和6放在第二位上,然后3和4放在第三位上,1和2放在第四位上。剩下几个数要跟在8后面还是7后面,规律就是这两个四位数的相减的差最小,那样相乘的积就是最大。可以先比较前两位数,确认5和6是跟在8后面还是7后面,85-76=9,86-75=11,相减的差最小相乘的积才最大,85和76的差最小,所以可以确定第二位了,85XX和76XX。
第一位和第二位都确认好了,然后确认第三位,确认3和4是跟在85后面还是76后面。和前面规律一样,853-764=89,854-763=91,853和764的差最小,相乘的积就是最大,这两个四位数的前三位分别是853X和764X。
最后一位同样规律,8531-7642=889,8532-7641=891,8531和7642的差最小,那它们相乘的积就是最大,这样就确认好了乘积最大的这两个四位数了。8531*7642=65193902。
乘积最小不是乘积最大的数直接反向写就对了,最大的两个数的乘积8531*7642=65193902,反向写1358*2467=3350186,而1357*2468=3349076,乘积更小一些。和乘积最大方法一样,最小的1和2这两个数放四位数的第一位,3和4第二位,5和6第三位,7和8第四位,剩下几个数要跟在1后面还是2后面,这个规律和最大乘积那个规律反过来就行,两个四位数的相减的差最大,那样相乘的积就是最小。确认345678跟在1还是2的后面,方法可以和上面一样,可以先是前两位比较,再三位比较,最后四位比较,相减的差大一些,乘积就会小一些。
第二位数跟在1和2后面的是3或是4,13和24相差11,14和23相差9,13和24相减的差大,所以确认前两位就是13和24。
第三位5和6跟在前两位后面有135和246,或者是136和245,135和246相差111,136和245相差109,相减的差大一些,乘积就会小一些,所以确认前三位就是135和246。
第四位7和8跟在前三位数后面有1357和2468,或者是1358和2467,1357和2468相减的差是1111,乘积是3349076。1358和2467相减的差是1109,乘积是3350186。1357和2468相减的差最大,所以乘积最小。
水平有限,不知是否表述清楚了,不对的地方请指正。 参考技术B 小学肯定不会有8位数的了。 一般是4个或者5个,让学生锻炼一下乘法的能力。
大数放在第一个。比如 12345 5和4一定要放在两个相乘数的第一位上
剩下的也没几种配合了,算一下就行了。 531*42 532*41 521*43 就这三种了,算一下就知道了。 参考技术C 你好 首先 如果是最大 那么 两个数最大相乘才是最大 所以 要两个数是最大的 及 就是 8642 x 7531 如果是 最小 反之 ok
求两个乘积最小的数
(一)题目: 求两个乘积最小的数
题目:
输入一个递增排序的数组和一个数字S,在数组中查找两个数,
使得他们的和正好是S,如果有多对数字的和等于S,输出乘积最小的两个数
思路:
定义两个指针,分别从前面和后面进行遍历,间隔越远的乘积越小,所以是最先出现的两个数乘积最小
(二)代码及测试
package com.example.offer; import java.util.ArrayList; /** * 求两个乘积最小的数 * * 题目: * 输入一个递增排序的数组和一个数字S,在数组中查找两个数, * 使得他们的和正好是S,如果有多对数字的和等于S,输出乘积最小的两个数 * * 思路: * 定义两个指针,分别从前面和后面进行遍历,间隔越远的乘积越小,所以是最先出现的两个数乘积最小 * @author zhangchaocai * @create 2020-06-28 9:55 */ public class offer1 { public static void main(String[] args) { //数组定义的三种方式,写的时候,突然忘了怎么定义,复习一下。擦擦擦 // 第一种 int[] a = new int[10]; // for(int i = 0; i < a.length ; i++){ // a[i] = i; // } // 第二种 //int[] b = new int[]{0, 1, 2, 3, 4, 5, 6}; //第三种 int[] array = {1,2,3,4,5,6,7,8,9,10}; int sum = 12; ArrayList<Integer> numberWithSum = getNumberWithSum(array, sum); System.out.println("成立的数字为: " + numberWithSum); } public static ArrayList<Integer> getNumberWithSum(int array[],int sum){ ArrayList<Integer> list = new ArrayList<>(); if (array == null || array.length == 0) { return list; } int left = 0; int right = array.length - 1; while (left < right){ int s = array[left] + array[right]; if(s == sum){ list.add(array[left]); list.add(array[right]); return list; }else{ if(s > sum){ right--; }else{ left++; } } } return list; } }
(三)运行结果
去做想做的
快乐......
以上是关于几个数字求乘积最大或者最小,思路是啥的主要内容,如果未能解决你的问题,请参考以下文章