Here is a Java program to print all factors of a number using loop and using a function. Given a number N, we have ti print all factors of N using a java program. Before jumping into java program, here is the brief overview of factors of a number.
A number F is a factor of number N, if and only if F divides N completely without leaving any remainder(N % F = 0). For example, 3 is a factor of 24 because 3 divides 24 without leaving any remainder.
24 / 3 = 8. and 24 % 3 = 0;
Here is the list of all factors of 24 : 1 2 3 4 6 8 12 24
Let N be the given number. Check with every number from 1 to N, whether it divides N completely or not. Let, i be any number between 1 to N.
- If(N % i == 0), then i is a factor of N.
- If(N % i != 0), then i is not a factor of N.
Java program to print all factors of a number using loop
In this java program, we first take a number N as input from user and then print all factors of a N by implementing above mentioned algorithm using a for loop.
package com.tcc.java.programs;
import java.util.Scanner;
public class PrintFactors {
public static void main(String[] args) {
int N, i;
Scanner scanner;
scanner = new Scanner(System.in);
System.out.println("Enter an Integer");
N = scanner.nextInt();
System.out.format("Factors of %d\n", N);
for (i = 1; i <= N; i++) {
if (N % i == 0) {
System.out.print(i + " ");
}
}
}
}
Output
Enter an Integer 50 Factors of 50 1 2 5 10 25 50
Java program to print all factors of a number using function
This program is similar to above program, except it uses a user defined function "printFactors" which takes a number N as input parameter and print all factors of N.
package com.tcc.java.programs;
import java.util.Scanner;
public class PrintFactorsFunction {
public static void main(String[] args) {
int N;
Scanner scanner;
scanner = new Scanner(System.in);
System.out.println("Enter an Integer");
N = scanner.nextInt();
// Calling printFactors method to print all
// factors of N
printFactors(N);
}
public static void printFactors(int N) {
int i;
System.out.format("Factors of %d\n", N);
for (i = 1; i <= N; i++) {
if (N % i == 0) {
System.out.print(i + " ");
}
}
}
}
Output
Enter an Integer 50 Factors of 50 1 2 5 10 25 50
Recommended Posts