C++解法

自守数

http://www.nowcoder.com/questionTerminal/88ddd31618f04514ae3a689e83f3ab8e

25^2=625,可以发现625%100=25,5776%100=76,所以我们有两个条件来判断是否满足自守数。1、ixi=n;2、从k=10开始到ixi之间,其中看的步长是10,即k=kx10。判断是否有ixi%k=i。满足这两个条件则满足自守数。

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    while(cin >> n){
        int cnt = 0, i=0,rst = 0;
        while(i<=n){
            for(int j=10; j<=i*i; j *= 10){
                rst = i*i%j;
                if(rst == i) cnt++;
            }
            i++;
        }
        cout << cnt+2 << endl;
    }
}
全部评论

相关推荐

12-15 14:16
门头沟学院 Java
回家当保安:发offer的时候会背调学信网,最好不要这样。 “27届 ”和“28届以下 ”公司招聘的预期是不一样的。
实习简历求拷打
点赞 评论 收藏
分享
勇敢的突尼斯海怪选钝...:楼主这拒意向话术好得体呀 !求问HR回复态度咋样呀
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务