题解 | #自守数#

自守数

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

#include<bits/stdc++.h>
using namespace std;
int digitnum(int num) {    //返回参数num的十进制位数
    int count = 0;
    while(num!=0) {
        num /= 10;
        count++;
    }
    return count;
}
int main() {
    int n;    //n用来存放输入的整数
    while(cin>>n) {    //输入整数n
        int count = 0;    //count记录满足条件的自守数的数量
        for(int i=0;i<=n;i++) {    //判断0~n之间的自守数
            int a = pow(i, 2);    //a = i^2;
            int b = pow(10, digitnum(i));    // b = 10^(i的十进制位数)
            if(a%b == i)    //a%b即为平方的尾数用于和i进行比较
                count++;    //计数器自增1
        }
        cout<<count<<endl;    //输出计数器的值
    }
    return 0;
}
全部评论
比我转化为字符串进制比较好多了
点赞 回复 分享
发布于 2022-07-16 18:55

相关推荐

04-30 15:51
已编辑
上海交通大学 机械工程师
点赞 评论 收藏
分享
03-26 15:18
已编辑
华北水利水电大学 Java
点赞 评论 收藏
分享
勤奋努力的椰子这就开摆:这些经历跟硬件都没啥关系呀
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务