题意分析
题目说了个位是3,我们就可以只看个位。若个位的和的个位为3,则原数的和的个位是3。
由于个位小于10,不难想到桶排序。
思路梳理
-
新建桶数组a和临时变量t,每次输入将
a[t%10]
自增。 -
用三重
for
循环枚举,判断a的每一项是否为0,是则continue
,否则自减,确保每一项只用一次。 -
循环完成后将原先自减的变量自增。
核心伪代码
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