Make sure to use your “Chapter 8” understanding of advanced functions, parameter passing, and local variables.
Post ONLY your ASM file here to Blackboard when complete.#include <iostream>
using namespace std;
int IsSemifauxtrifactored(int value)
{
// Return 1 if a number’s factors/divisors from (value – 1) to 1 sum up to half the number value
// Return 0 otherwise
// A number is called “semifauxtrifactored” if its summed factors/divisors equal half the number itself
// Integer division is used, so remainders on the halving can be lost
// That’s why…
// 9 is a semifauxtrifactored number
// 9 cut in half with integer division is (9 / 2) = 4
// 9 % 8 -> 1
// 9 % 7 -> 2
// 9 % 6 -> 3
// 9 % 5 -> 4
// 9 % 4 -> 1
// 9 % 3 -> 0 FACTOR!
// 9 % 2 -> 1
// 9 % 1 -> 0 FACTOR!
// 9 is a semifauxtrifactored number since its factors (1 + 3) equal half the number (4)
// 6 is a normal number
// 6 cut in half with integer division is (6 / 2) = 3
// 6 % 5 -> 1
// 6 % 4 -> 2
// 6 % 3 -> 0 FACTOR!
// 6 % 2 -> 0 FACTOR!
// 6 % 1 -> 0 FACTOR!
// 6 is a normal number since its factors (1 + 2 + 3) do not equal half the number (3)
}
int main()
{
cout << “Enter a value: “;
int value;
cin >> value;
value = IsSemifauxtrifactored(value);
if (value == 1)
{
cout << “The number is semifauxtrifactored!”;
}
else
{
cout << “The number is normal”;
}
cout << endl;
system(“PAUSE”);
}