pta逢7击掌 运行超时怎么办?

图片说明
图片说明

这种题不能暴力查找,有一定的规律

c=j+k-(n/70+1)
7的倍数可认为是对7取余为0,比如7对7取余为0,14对7取余为0,个数为j=n/7
个位是7可认为是对10取余为7,比如7对10取余为7,17对10取余为7,个数为k=n/10, 如果n%10>=7,个数为k=n/10+1
然后这两者可能会重复,比如7,70,147,217,也就是对70取余为7,减去即可,7单独减去,个数为n/70+1
我自己的看法,不知道对不对