Skip to content

Commit 1817ed5

Browse files
authored
Add files via upload
1 parent d8fa53c commit 1817ed5

File tree

1 file changed

+44
-20
lines changed

1 file changed

+44
-20
lines changed

armstrong.cpp

+44-20
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,52 @@
11
#include <iostream>
2-
#include <math.h>
2+
33
using namespace std;
44

5+
//Function name: getRaiseAndAdd
6+
//Purpose: Calculate each digit cubed and the sum of the results.
7+
//We are sending in the current number from the loop starting at 100 and
8+
//counting one by one to 999.
9+
//Parameters: &numberInput
10+
//Return value: Result of adding 3 numbers
11+
int getRaiseAndAdd(int &numberInput)
12+
{
13+
int firstNumber, secondNumber, thirdNumber;
14+
int remainder;
15+
int sum;
16+
int firstPower, secondPower, thirdPower;
17+
18+
firstNumber = numberInput / 100;
19+
remainder = numberInput % 100;
20+
secondNumber = remainder / 10;
21+
thirdNumber = remainder % 10;
22+
23+
firstPower = firstNumber * firstNumber * firstNumber;
24+
secondPower = secondNumber *secondNumber * secondNumber;
25+
thirdPower = thirdNumber * thirdNumber * thirdNumber;
26+
27+
return sum = firstPower + secondPower + thirdPower;
28+
}
29+
530
int main()
631
{
7-
for(int i = 0;i <= 10000;++i)
8-
{
9-
int r = i;
10-
int dig = 0;
11-
while(r != 0)
12-
{
13-
dig++;
14-
r /= 10;
15-
}
16-
int n = i, sum = 0;
17-
while(n != 0)
32+
int answer;
33+
int originalNumber;
34+
35+
for(int i = 100; i < 1000; i++)
36+
originalNumber = i;
37+
38+
answer = getRaiseAndAdd(i);
1839
{
19-
int d = n % 10;
20-
sum += pow(d, dig);
21-
n /= 10;
40+
//Function name: is_Armstrong
41+
//Purpose: finding the Armstrong numbers
42+
//Parameters: answer
43+
//Return value: 0
44+
bool is_Armstrong (int answer);
45+
if(answer == originalNumber);
46+
{
47+
cout << "found an Armstrong number " << originalNumber << endl;
48+
}
2249
}
23-
if(sum == i)
24-
cout << i << ' ';
25-
}
26-
cout << "\n\n\n";
27-
return 0;
50+
51+
return 0;
2852
}

0 commit comments

Comments
 (0)