题解 1518: 蓝桥杯算法提高VIP-寻找三位数

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

蓝桥杯算法提高VIP-寻找三位数-题解

只是个小白,只会用hash表的方法判断是否有重复数字,还望各位大神指导#includeusingnamespacestd;boolfun(inti,intj,intk){boolp=true;inta,b,c,d,e,f,g,h,m,n=10;inthash[10]={0};a=i/100;hash[

蓝桥杯算法提高VIP-寻找三位数-题解(C++代码)

此题最重要的是解决两个问题:1.要先确定第一个数i的值,这样我们才能发现第二个数和第三个数是否满足题意,因此想到用for循环找i,但是如果从123找到987太复杂了,我们想到这三个数最大也就是987,因此通过比例可以找到i的最大值肯定是987/3=3292.怎么判断这三个数是否重复呢?给大家介绍一种非

蓝桥杯算法提高VIP-寻找三位数-题解(C++代码)

我利用的是穷举法,但只用了一个for循环,因为剩下的两个数都跟第一个数成倍数关系。而要保证9个数都使用到,那么最小值为123,最大值为987,而987/3=329,那么第一个数的枚举区间就列出来了。所以,接下来的任务就是判断9个数字是否使用完全就可以了,