本质是取余运算,获得余数判断与本身是否相等

自守数

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

本质是获取比自己高一位的10进制数的余数与自身是否相等的算法;

比如,一个数是x,她是一个两位数,那么就是计算他的平方最后两位的余数是否与自身相等。于是只需要求得比他大的10的三次方的数,然后取平方之后数字的余数,判断是否相等即可。

#include<iostream>
#include<math.h>

using namespace std;

int main(){
    int inum;

    while(cin>>inum){
        int cnt=0;
        for(int i=0;i<=inum;i++){
            int temp=pow(i,2);
            int factor=1;
            while(i/factor){
                factor*=10;
            }
            if(temp%factor==i){
                cnt++;
            }
        }
        cout<<cnt<<endl;      
    }
    return 0;
}
全部评论

相关推荐

哞客37422655...:这就是真实社会,没有花里胡哨的安慰,让你感受到阶级分明,不浪费彼此时间。虽然露骨但是唉
点赞 评论 收藏
分享
牛至超人:您好,京东物流岗了解一下吗?负责精加工食品的端到端传输
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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