How to check if a number is abundant number in C#

1 Answer

0 votes
using System;

public class Program
{
	private static int SumNumberProperDivisors(int num) {
		int sum = 0;

		for (int i = 1; i <= Math.Sqrt(num); i++) {
			if (num % i == 0) {
				if (i == (num / i)) {
					sum += i;
					Console.Write(i + ", ");
				}
				else {
					sum += i + (num / i);
					Console.Write(i + ", " + num / i + ", ");
				}
			}
		}
		
		return sum - num;
	}
	public static void Main(string[] args)
	{
		int num = 24;
		int sum = SumNumberProperDivisors(num);

		Console.WriteLine("num = " + num + " sum = " + sum + " abundant = " + (sum > num ? "true" : "false"));

		num = 21;
		sum = SumNumberProperDivisors(num);

		Console.WriteLine("num = " + num + " sum = " + sum + " abundant = " + (sum > num ? "true" : "false"));
	}
}






/*
run:
  
1, 24, 2, 12, 3, 8, 4, 6, num = 24 sum = 36 abundant = true
1, 21, 3, 7, num = 21 sum = 11 abundant = false
  
*/

 



answered Nov 1, 2022 by avibootz

Related questions

1 answer 108 views
1 answer 99 views
1 answer 92 views
1 answer 107 views
1 answer 98 views
2 answers 103 views
2 answers 109 views
...