题解 | #自守数#
自守数
https://www.nowcoder.com/practice/88ddd31618f04514ae3a689e83f3ab8e
#include <bits/stdc++.h>
using namespace std;
inline int findk(int& n){
int k = 1;
while(k<=n){
k*=10;
}
return k;
}
int main() {
int n;
while (cin >> n) {
int cnt = 1;
for(int i=1;i<=n;i++){
if(((i*i-i)%findk(i))==0) cnt++;
}
cout<<cnt;
}
}
循环有点丑陋,不知道还有没有更简单的位操作方法