题目:
随便给1000个数值,查找3个乘积最大的三个数
补:这个1000个都是正常的自然数,可能是值0 ,0.1,-0.1,1.1,1 ,-1,-1.1, 100 ,-100.23
对于这样的题目,感觉就是做数学题,但是在计算机语言中,一切都要按程序来。
解析:
很明显,我们都知道1以下的数,乘啥都不会大于1
算法:
1.找出比1大的数的集合。
2.取这个集合里面的最大三个数,方法(冒泡,希尔,快速,归并),你想咋整咋整。当然还有就是最直接,用单个变量,一路比过去,将最大的值,一个一个移过去。比如数值 2 ,10,,11,25,8,6……
设置三个变量 a,b,c
第一步:a=b=c =2
第二步:10>2 , a=10 , b=2 ,c=2 (b去拿a赋值之前的值,c去拿b赋值之前的值)
第三步:11>10 ,a =11, b=10,c =2,
第四步: 25>11 ,a=25,b=11,c=10
.
.
.
.
end.
这样输出 a,b,c 他们的乘积就最大了。
具体代码就不写了!