小信与3解题思路及核心代码

题目传送门

题意分析

题目说了个位是3,我们就可以只看个位。若个位的和的个位为3,则原数的和的个位是3。
由于个位小于10,不难想到桶排序。

思路梳理

  1. 新建桶数组a和临时变量t,每次输入将a[t%10]自增。

  2. 用三重for循环枚举,判断a的每一项是否为0,是则continue,否则自减,确保每一项只用一次。

  3. 循环完成后将原先自减的变量自增。

核心伪代码

	for(i=0 to 9)
        if(a[i]=0)continue
        a[i]-1
		for(j=0 to 9)
            if(a[j]=0)continue
            a[j]-1
			for(k=0 to 9){
                if(a[k]=0)continue
				if(i+j+k mod 10=3)
					print YES
					end
            a[j]+1
        a[i]+1
	print NO
    end
1 个赞

《伪代码》

厉害