Feedback | If you notice incorrect translations in Contester, please let author know.
|
|
Time limit 2000/4000/4000/4000 ms. Memory limit 65000/65000/65000/65000 Kb. Prepared by Ibrahim Mesecan.
Number of Armstrong Numbers
Number 153 has 3 digits and if you take the 3rd
power of every digit and calculate the sum of them,
you will have the same number again.
153 = 13 + 53 + 33
= 1 + 125 + 27 = 153
Thus, for 1634 you should take the fourth powers of
every digit (because the number has 4 digits) and
calculate the sum. Because the sum is equal to the number
itself, then, we say that this number is an
Armstrong Number.
Question:
Assume that you are given the following functions:
-
int numDigits
(int num); // a function which
calculates the number of digits in the given number (num)
-
int power(int n,
int p); // calculates np
-
int getDigit(int
num, int i);// gets
ith digit of the given number num. And digits start from 1.
Using the functions above, in your program,
calculate the number of Armstrong numbers between the
given numbers n and m.
Input specification
There will be two numbers between
1 ≤ n < m ≤ 100000.
Note: For C and C++, you can include
the functions using the following statement.
#include "utils/armstrong.h"
Download armstrong.h.
Output specification
show one integer: the number of Armstrong Numbers.
If no Armstrong numbers exists, then show 0 (zero).
Input I b>
td>
Input II b>
td>
| |
100 200
td>
|
400 2000
td>
|
Output 1 b> td>
Output 2 b> td>
tr>
1
td>
|
2
td> | | |
Для отправки решений необходимо выполнить вход.
|