I'm in college and I have to do an assignment on Abundant Numbers (Programmed in C).
Assignment Details are pretty straight forward. Ask for a number determine if it is abundant.
-Use "boolean" function to test a number for abundance.
-use a function to control output and another for input.
-An Abundant Number is a positive integer whose integer factors less than itself sum to a value greater than it.
This is the Code I have so far:
Code:
#include <stdio.h>
#include <math.h>
int Input(int N)
{
printf("Enter the Nth Abundant Number you wish to see: ");
scanf("%d", &N);
return(N);
}
int Calc(int N)
{
int Sum, I, I2;
Sum = 0;
I2 = sqrt(N);
for (I = 1; I >= I2; I++)
if ((N % I) = 0) Sum += I + (N / I);
return(Sum);
}
int Check(int N, int Sum, int Abundancy)
{
if (Sum > N)
Abundancy = 1;
else
Abundancy = 0;
return(Abundancy);
}
int Output(int Number, int Abundancy)
{
if (Abundancy == 1)
printf("%d %s", Number, "is Abundant");
else
printf("%d %s", Number, "is not Abundant");
}
int main()
{
/* Variables */
int N, Sum;
int Abundancy;
/* Start Loop */
while (N != 0)
{
/* Input */
N = Input(N);
for(int I = N; I = (N - 10)or I <= 0; I--)
{
/* Calculate */
Sum = Calc(N);
/* Determine Abundancy */
Abundancy = Check(N, Sum, Abundancy);
/* Output */
Output(N, Abundancy);
}
}
}
Could someone help me figure out why it declares everything as not an abundant number?
my test is 12. 1 + 2 + 3+ 4+ 6 = 16, 16 > 12, so it is abundant.