题解 | 自守数

自守数

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

#include <iostream>
using namespace std;
int main() {
   int n;cin>>n;
   int c=0;
   for(int i=0;i<=n;i++){
    if(i%10!=0&&i%10!=1&&i%10!=5&&i%10!=6)continue;
	 //观察到只有尾数为0,1,5,6的数字才可以
    int num=1,t=i;
	 //num为>=i的最小的10的次方数
    while(t){
num*=10;t/=10;
    }
    if(i*i%num==i)c++;
   }
   cout<<c;
}

全部评论

相关推荐

07-17 11:56
门头沟学院 Java
感谢东子的收留
熬夜脱发码农:无敌了,这是我看到第二个京东的提前批大佬了我还在畏畏缩缩准备八股算法
点赞 评论 收藏
分享
昨天 12:41
已编辑
门头沟学院 Java
steelhead:不是你的问题,这是社会的问题。
点赞 评论 收藏
分享
积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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