//Marek Kochanowski
#include <iostream>
#include <cmath>
using namespace std;
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
typedef short int si;
int main() {
cout.sync_with_stdio(0);
ios_base::sync_with_stdio(0);
ll K, A, B;
//cout << " IN: " << endl;
cin >> K >> A >> B;
//cout << " OUT: " << endl;
ll D1 = A/K, D2 = B/K;
//cout << "1:[" << D1 << " " << D2 << "]" << endl;
if(D1>D2)
swap(D1, D2);
//cout << "2:[" << D1 << " " << D2 << "]" << endl;
ll cnt = 0;
for(ll i = D1; i < D2; i++) {
ll left = i*K;
if(left < A || left > B)
continue;
//cout << left;
string leftString = to_string(left);
//cout << " : ";
ll tmp = 0;
for(ll j = 0; j < leftString.length(); j++) {
int tmp2 = (int)leftString[j]-48;
//cout << tmp2 << " ";
tmp += tmp2*tmp2;
}
//cout << "[" << i << " = " << tmp << "]";
if(i == tmp) {
//cout << " !! ";
cnt++;
}
//cout << endl;
}
cout << cnt;
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | //Marek Kochanowski #include <iostream> #include <cmath> using namespace std; typedef long long ll; typedef long double ld; typedef unsigned long long ull; typedef short int si; int main() { cout.sync_with_stdio(0); ios_base::sync_with_stdio(0); ll K, A, B; //cout << " IN: " << endl; cin >> K >> A >> B; //cout << " OUT: " << endl; ll D1 = A/K, D2 = B/K; //cout << "1:[" << D1 << " " << D2 << "]" << endl; if(D1>D2) swap(D1, D2); //cout << "2:[" << D1 << " " << D2 << "]" << endl; ll cnt = 0; for(ll i = D1; i < D2; i++) { ll left = i*K; if(left < A || left > B) continue; //cout << left; string leftString = to_string(left); //cout << " : "; ll tmp = 0; for(ll j = 0; j < leftString.length(); j++) { int tmp2 = (int)leftString[j]-48; //cout << tmp2 << " "; tmp += tmp2*tmp2; } //cout << "[" << i << " = " << tmp << "]"; if(i == tmp) { //cout << " !! "; cnt++; } //cout << endl; } cout << cnt; return 0; } |
English