- Write a C program to print all factors of a number.

#### Required Knowledge

A number N is a **factor** of number M, if and only if N divides M completely leaving no remainder(M % N = 0). For example, 4 is a **factor** of 40 because 4 divides 40 without leaving any remainder.

40 / 4 = 10. and 40 % 4 = 0;

Here is the list of all **factors** of 40 : 1 2 4 5 8 10 20 40

**Algorithm to find all factors of a number N**

*Check with every number from 1 to N, whether it divides N completely or not.*

Let, i be any number between 1 to N

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

## C program to find all factors of a number using for loop

#include <stdio.h> int main() { int counter, N; /* * Take a number as input from user */ printf("Enter a Number\n"); scanf("%d", &N); printf("Factors of %d\n", N); /*Check for every number between 1 to N, whether it divides N */ for(counter = 1; counter <= N; counter++) { if(N%counter == 0) { printf("%d ", counter); } } return 0; }

Output

Enter a Number 40 Factors of 40 1 2 4 5 8 10 20 40

Enter a Number 37 Factors of 37 1 37

**Write a C program to find product of digits of a number using while loop.**

Wap in C to multiply the digits of a number.

Wap in C to multiply the digits of a number.

#### Required Knowledge

To **multiply digits of a number** we have to remove one digit at a time, we can use '/' division and '%' modulus operator. Number%10 will give the least significant digit of the number, we will use it to get one digit of number at a time. To remove last least significant digit from number we will divide number by 10.

**Product of digits** of 2534 = 2 x 5 x 3 x 4 = 120

**Algorithm to find product of digits of a number**

- Get least significant digit of number (number%10) and multiply it to the product variable.
- Remove least significant digit form number (number = number/10).
- Repeat above two steps, till number is not equal to zero.

## C program to find sum of all even numbers between 1 to N using for loop

#include <stdio.h> #include <conio.h> int main() { int num, temp; long productOfDigit = 1; /* * Take a number as input from user */ printf("Enter a Number\n"); scanf("%d", &num); temp = num; while(num != 0){ /* get the least significant digit(last digit) of number and multiply it to productofDigit */ productOfDigit *= num % 10; /* remove least significant digit(last digit) form number */ num = num/10; } printf("Product of digits of %d = %ld", temp, productOfDigit); getch(); return 0; }

Output

Enter a Number 2436 Product of digits of 2436 = 144

Enter a Number 2222 Product of digits of 2436 = 16

**Related Topics**