题解 | #自守数#
自守数
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; } }
循环有点丑陋,不知道还有没有更简单的位操作方法