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