0% found this document useful (0 votes)
21 views55 pages

Embedded Software Lab

Uploaded by

pradeepj3
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views55 pages

Embedded Software Lab

Uploaded by

pradeepj3
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

TABLE OF CONTENT

S.NO
CONTENTS PAGE NO.

C PROGRAMS

01. AMICABLE NUMBER 01

02. SUPER PERFECT NUMBER 03

03. HARSHAD NUMBER 04

04. LEFT SHIFTING 07

05. FOUR DIGIT NUMBER 10

06. HARMONIC DIVISOR NUMBER 13

07. KAPREKAR NUMBER 14

08. ABUNDANT/DEFICIENT NUMBER 15

09. LOWER TRIANGULAR MATRIX 17

10. ORTHOGONAL MATRIX 19

11. SYMMETRIC MATRIX 22

12. 8x8 QUEEN PROBLEM 24

13. SINE SERIES 27

14. MAGIC SQUARE 29

15. ONE D ARRAY - LOWER TRIANGULAR MATRIX 31

16. TRIDIAGONAL MATRIX 33

i
TABLE OF CONTENT

S.NO
CONTENTS PAGE NO.

PYTHON PROGRAMS

01. AMICABLE NUMBER 35

02. SUPER PERFECT NUMBER 36

03. HARSHAD NUMBER 37

04. LEFT SHIFTING 38

05. FOUR DIGIT NUMBER 39

06. HARMONIC DIVISOR NUMBER 41

07. KAPREKAR NUMBER 42

08. ABUNDANT/DEFICIENT NUMBER 43

09. LOWER TRIANGULAR MATRIX 44

10. ORTHOGONAL MATRIX 45

11. SYMMETRIC MATRIX 47

12. 8x8 QUEEN PROBLEM 48

13. SINE SERIES 50

14. MAGIC SQUARE 51

15. ONE D ARRAY - LOWER TRIANGULAR MATRIX 52

16. TRIDIAGONAL MATRIX 53

ii
C PROGRAMS
1.AMICABLE NUMBERS
AIM:
To verify whether the two numbers are amicable numbers or not using C program.

PROGRAM:
#include <stdio.h>
int sum_of_proper_divisors(int n)
{
int i, sopd = 0;
int numhalf = n / 2;
for (i = 1; i <= numhalf; i++)
if (n % i == 0)
sopd += i;
return sopd;
}
int main()
{
int num1, num2;
printf("Amicable number program");
printf("\nEnter first number = ");
scanf("%d", &num1);
printf("Enter second number = ");
scanf("%d", &num2);
int sopdnum1 = sum_of_proper_divisors(num1);
int sopdnum2 = sum_of_proper_divisors(num2);
if ((num1 == sopdnum2) && (num2 == sopdnum1))
printf("The numbers are amicable numbers");
else
printf("The numbers are not amicable numbers");
}

1
OUTPUT:

RESULT:
The program for checking whether the given two numbers are amicable numbers or not is written,
compiled, executed and result is verified successfully.

2
2.SUPER PERFECT NUMBER
AIM:
To verify whether the given number is a super perfect number or not using C program.

PROGRAM:
#include <stdio.h>

int sum_of_divisors(int n)
{
int i, sod = 0;
for (i = 1; i <= n; i++)
if (n % i == 0)
sod += i;
return sod;
}

int main()
{
int number, sod1, sod2;
printf("Superperfect Number program\nEnter the number = ");
scanf("%d", &number);
sod1 = sum_of_divisors(number);
sod2 = sum_of_divisors(sod1);
if (sod2 == (2 * number))
printf("%d is a super perfect number", number);
else
printf("%d is not a super perfect number", number);
}

OUTPUT:

RESULT:
The program for checking given number is super perfect number or not is written, compiled, executed
and result is verified successfully.

3
3.HARSHAD NUMBER
AIM:
• To calculate sum of digits of a number until that sum becomes single digit using C program.
• To verify whether the given number is Harshad/Niven number or not using C program.

PROGRAM:
Harshad number.c :
#include <stdio.h>
#include "SumOfDigits.h"

void main()
{
int num, rem, sumOfDigits;
printf("Harshad/Niven Number program");
printf("\nEnter a number = ");
scanf("%d", &num);
sumOfDigits = sum_of_digits(num);
rem = num % sumOfDigits;
printf("%d", rem);
if (rem == 0)
printf("The given number is a harshad/niven number");
else
printf("The given number is not a harshad/niven number");
}
Sum of digit.c :
#include <stdio.h>
#include "SumOfDigits.h"

int sum_of_digits(int n)
{
int digit, sum = 0;
while (n > 0)
{
digit = n % 10;
sum += digit;
n = n / 10;
}
return sum;
}

4
SumUptoSingleDigit.c:
#include <stdio.h>
#include "SumOfDigits.h"

void main()
{
int number,orig_num;
printf("Sum upto single digit program");
printf("\nEnter the number = ");
scanf("%d",&number);
orig_num = number;
number = sum_of_digits(number);
printf("The sum of digits %d until single digit is
%d",orig_num,number);
}

SumOfDigits.h :
#ifndef SUM_OF_DIGITS
#define SUM_OF_DIGITS

int sum_of_digits(int n);

#endif

OUTPUT 1:
For until the sum becomes a single digit:

5
OUTPUT 2:
For Harshad/Niven number:

RESULT:
The program for checking whether the given numbers are Harshad/Niven number or not and also the
result of sum of digits until the sum becomes a single digit is written, compiled, executed and result is
verified successfully.

6
4.LEFT SHIFT NUMBERS
AIM:
To generate all the left shift numbers possible and to find the largest number in the set using C
program.

PROGRAM:
#include <stdio.h>
#include <stdlib.h>

void getDigits(int count, int *digits, int num)


{
int i, rem = 0;
for (i = count - 1; i > -1; i--)
{
rem = num % 10;
if (i == 3)
digits[3] = rem;
digits[i] = rem;
num = num / 10;
}
}

int getNumberShifted(int count, int *digits)


{
int multiple = 0, i, j = 1;
for (i = count - 1; i > -1; i--)
{
if (i == 0)
multiple = multiple + digits[i];
else
multiple = digits[i] * (10 * j) + multiple;
j *= 10;
}
return multiple;
}

int main()
{
int num;

7
printf("Left Shift number program");
printf("\nEnter a number for shifting...");
scanf("%d", &num);
int i, count = 0, numcpy = num;
while (numcpy != 0)
{
numcpy = numcpy / 10;
count++;
}
numcpy = num;
int combinations[count];
int digits[count];
getDigits(count, digits, numcpy);
for (i = 0; i < count; i++)
{
combinations[i] = getNumberShifted(count, digits);
getDigits(count, digits, combinations[i]);
}
int max = combinations[0];
for (i = 1; i < count; i++)
{
if (max < combinations[i])
max = combinations[i];
}
printf("All Possible number combinations are = ");
printf("{ ");
for (i = 0; i < count; i++)
{
if (i == count - 1)
printf("%d", combinations[i]);
else
printf("%d, ", combinations[i]);
}
printf(" }");
printf("\nLargest number in the set = %d", max);
return 0;
}

8
OUTPUT:

RESULT:
The program to print all the left shift numbers and find the largest number in the set is written,
compiled, executed and result is verified successfully.

9
5.FOUR DIGIT NUMBER
AIM:
To rearrange the digits of the given four-digit number to get largest and smallest number and to get a
new number by subtracting the largest and smallest number using C program.

PROGRAM:
#include <stdio.h>
void main()
{
int num=0,count = 1;
int l,s;
printf("Enter a four digit number:(Not as 1111,2222..) :\n");
scanf("%d", &num);
while(1)
{
printf("\nCount=%d\n", count++);
l = largest(num);
s = smallest(l);
num = l-s;
printf("The largest number = %d and the smallest number =
%d\n", l,s);
printf("The new number is %d\n", num);
//printf("%d", largest(num));
if(num == 6174)
{
break;
}
}
}
int largest(int n)
{
int i,j,a,res=0;
int arr[4];
for(i=0;i<=3;i++)
{
a = n%10;
arr[i] = a;
n = n/10;
}

10
for(i=0;i<=3;i++)
{
for(j=i+1;j<=3;j++)
{
if (arr[j]>arr[i])
{
a = arr[i];
arr[i] = arr[j];
arr[j] = a;
}
}
}
for(i=0;i<=3;i++)
res = res*10+arr[i];
return res;
}
int smallest(int n)
{
int i,a,res=0;
for(i=0;i<=3;i++)
{
a = n%10;
res = res*10+a;
n=n/10;
}
return res;
}
OUTPUT:

11
RESULT:
The program to rearrange the digits of the given four-digit number to get largest and smallest number
and to get a new number by subtracting the largest and smallest number is written, compiled, executed
and result is verified successfully.

12
6. HARMONIC DIVISOR NUMBER
AIM:
To check whether the given number is a harmonic divisor or not using C program.

PROGRAM:
#include <stdio.h>

int main()
{
int number,i,count = 0 ,divisor_sum = 0 ;
printf("Enter the number : ");
scanf("%d",&number);
for( i=1; number >= i; i++)
if ( number % i == 0)
{
divisor_sum = divisor_sum + i;
count = count + 1;
}
if((number * count) % divisor_sum == 0 )
printf("Given number %d is a harmonic divisor",number);
else
printf("Given number %d is not a harmonic divisor",number);
return 0;
}
OUTPUT:

RESULT:
The program to verify whether the given number is harmonic number or not is written, compiled,
executed and result is verified successfully.

13
7.KAPREKAR NUMBER
AIM:
To generate the Kaprekar number of the given number using C program.

PROGRAM:
#include <stdio.h>
#include <math.h>
int main()
{
int count = 0, num, square;
printf("Kaprekar number program");
printf("\nEnter the number: ");
scanf("%d", &num);
int numcpy = num;
while (numcpy != 0)
{
numcpy /= 10;
count++;
}
square = num * num;
int divisor = pow(10, count);
int lsb = square % divisor;
int msb = square / divisor;
int sum = msb + lsb;
if (sum == num)
printf("The given number %d is a Kaprekar Number\n", num);
else
printf("The given number %d is not a Kaprekar Number\n",
num);
}
OUTPUT:

RESULT:
The program to verify whether the given number is kaprekar number or not is written, compiled,
executed and result is verified successfully.

14
8.ABUNDANT OR DEFICIENT NUMBER
AIM:
To find the numbers are Abundant or Deficient for the given natural numbers from 1 to 100 using C
program.
PROGRAM:
#include <stdio.h>

int sum_of_proper_divisors(int n)
{
int i, sopd = 0;
int numhalf = n / 2;
for (i = 1; i <= numhalf; i++)
if (n % i == 0)
sopd += i;
return sopd;
}

int main()
{
int number, sopd;
printf("Enter the number = ");
scanf("%d", &number);
sopd = sum_of_proper_divisors(number);
if (sopd > number)
printf("The number %d is abundant/excessive number",
number);
else
printf("The number %d is deficient number", number);
return 0;
}

15
OUTPUT:

RESULT:
The program to check whether the given number is an abundant or deficient number is written,
compiled, executed and result is verified successfully.

16
9.LOWER TRIANGULAR MATRIX
AIM:
To find the lower triangular matrix of a given matrix and to display it using C program.

PROGRAM:
#include <stdio.h>

int main()
{
int order;
printf("Lower Triangular Matrix");
printf("\nEnter the order of the matrix = ");
scanf("%d", &order);
int M[order][order], i, j;
for (i = 0; i < order; i++)
{
printf("Enter the elements in row %d = ", (i + 1));
for (j = 0; j < order; j++)
scanf("%d", &M[i][j]);
}
for (i = 0; i < order; i++)
for (j = 0; j < order; j++)
if (i < j)
M[i][j] = 0;
printf("The Lower Triangular Matrix is: \n");
for (i = 0; i < order; i++)
{
for (j = 0; j < order; j++)
printf("%d ", M[i][j]);
printf("\n");
}
return 0;
}

17
OUTPUT:

RESULT:
The program to print or display the lower triangular matrix of a given number is written, compiled,
executed and result is verified successfully.

18
10.ORTHOGONAL MATRIX
AIM:
To check whether the given matrix is orthogonal or not using C program.

PROGRAM:
#include <stdio.h>

void transpose_matrix(int order,int dest_mat[order][order], int


mat[order][order])
{
int i, j;
for (i = 0; i < order; i++)
for (j = 0; j < order; j++)
dest_mat[j][i] = mat[i][j];
}

void matrix_multiplication(int order, int dest_mat[order][order],


int src_mat[order][order])
{
int i, j, k;
for (i = 0; i < order; i++)
{
for (j = 0; j < order; j++)
{
dest_mat[i][j] = 0;
for (k = 0; k < order; k++)
{
dest_mat[i][j] += src_mat[i][k] * src_mat[k][j];
}
}
}
}

void print_matrix(int order, int mat[order][order])


{
for (int i = 0; i < order; i++)
{
for (int j = 0; j < order; j++)
{

19
printf("%d ", mat[i][j]);
}
printf("\n");
}
}

int main()
{
int order;
printf("Enter order of matrix...");
scanf("%d", &order);
int mat[order][order];
int i, j;
for (i = 0; i < order; i++)
{
printf("Enter row %d values...", (i + 1));
for (j = 0; j < order; j++)
{
scanf("%d", &mat[i][j]);
}
}
int mat_transpose[order][order];
printf("Matrix is =\n");
print_matrix(order, mat);
transpose_matrix(order, mat_transpose, mat);
printf("The Transpose Matrix is =\n");
print_matrix(order, mat_transpose);
matrix_multiplication(order, mat_transpose, mat);
printf("Matrix x Transpose Matrix is =\n");
print_matrix(order, mat_transpose);
int identity = 1, zero = 0;
int orthoflag = 1;
for (i = 0; i < order; i++)
{
for (j = 0; j < order; j++)
{
if (i == j)
{
if (mat_transpose[i][j] != identity)

20
orthoflag = 0;
}
else
{
if (mat_transpose[i][j] != zero)
orthoflag = 0;
}
}
}
if (orthoflag)
printf("The given matrix is orthogonal matrix");
else
printf("The given matrix is not orthognal matrix");
return 0;
}

OUTPUT:

RESULT:
The program for checking the given matrix is orthogonal or not is written, compiled, executed and
result is verified successfully.

21
11.SYMMETRIC MATRIX
AIM:
To check whether the given matrix is symmetric or not using C program.

PROGRAM:
#include <stdio.h>

int main()
{
int order, r, c, sym_flag = 0;
int matrix[10][10], transpose[10][10];
printf("Enter the size of matrix = ");
scanf("%d", &order);
for (r = 0; r < order; r++)
{
printf("Enter the elements of matrix row %d = ", (r + 1));
for (c = 0; c < order; c++)
scanf("%d", &matrix[r][c]);
}
for (r = 0; r < order; r++)
for (c = 0; c < order; c++)
transpose[r][c] = matrix[c][r];
for (r = 0; r < order; r++)
for (c = 0; c < order; c++)
if (matrix[r][c] != transpose[r][c])
{
sym_flag = 1;
break;
}
if (sym_flag)
printf("The given matrix is not symmetric matrix.\n");
else
printf("The given matrix is symmetric matrix.\n");
return 0;
}

22
OUTPUT:

RESULT:
The program for checking the given matrix is symmetric or not is written, compiled, executed and
result is verified successfully.

23
12.EIGHT QUEEN PROBLEM
AIM:
To place the Eight queen on an 8x8 chessboard in such a manner that no queen interferes the other 7
queen using C program.

PROGRAM:
#include <stdbool.h>
#include <stdio.h>

#define N 8

void printSolution(int board[N][N])


{
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
if (board[i][j])
printf("Q ");
else
printf(". ");
}
printf("\n");
}
}

bool isSafe(int board[N][N], int row, int col)


{
int i, j;
for (i = 0; i < col; i++)
if (board[row][i])
return false;
for (i = row, j = col; i >= 0 && j >= 0; i--, j--)
if (board[i][j])
return false;
for (i = row, j = col; j >= 0 && i < N; i++, j--)
if (board[i][j])
return false;

24
return true;
}

bool solveNQUtil(int board[N][N], int col)


{
if (col >= N)
return true;
for (int i = 0; i < N; i++)
{
if (isSafe(board, i, col))
{
board[i][col] = 1;
if (solveNQUtil(board, col + 1))
return true;
board[i][col] = 0;
}
}
return false;
}

int main()
{
int board[N][N], i, j;
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
board[i][j] = 0;
if (solveNQUtil(board, 0) == false)
{
printf("Solution does not exist");
return 0;
}
printSolution(board);
return 0;
}

25
OUTPUT:

RESULT:
The program for checking the eight-queen placing on an 8x8 chessboard is written, compiled,
executed and result is verified successfully.

26
13. SINE SERIES
AIM:
To calculate the sine value for the given degree value using C Program.

PROGRAM:
#include <stdio.h>
#include <math.h>

#define DIFFERENCE 0.0001


#define PI_VAL 3.141592

float convert_to_radians(float d)
{
float rad = d * PI_VAL / 180;
return rad;
}

float compute_sine_series(float x)
{
float term, tsin, x2, prev_term = 0;
int i = 1;
term = tsin = x;
x2 = x * x;
while (fabs(term - prev_term) > DIFFERENCE)
{
i = i + 2;
prev_term = term;
term = -term * x2 / (i * (i - 1));
tsin = tsin + term;
}
return tsin;
}

int main()
{
float angle, rad;
printf("Sine Series");
printf("\nEnter angle...");
scanf("%f", &angle);

27
rad = convert_to_radians(angle);
float sinx = compute_sine_series(rad);
printf("\nResult: The value of Sin(%f) = %f", angle, sinx);
return 0;
}

OUTPUT:

RESULT:
The program to calculate the sine value for the given degree value is written, compiled, executed and
result is verified successfully.

28
14.ODD NUMBER MAGIC SQUARE
AIM:
To generate an odd numbered magic square using C program.
PROGRAM:
#include <stdio.h>
#include <stdlib.h>

void OddMagicSquare(int n)
{
int i, j, elem;
int MSquare[n][n];
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
MSquare[i][j] = 0;
i = 0;
j = n / 2;
for (elem = 1; elem <= n * n; elem++)
{
MSquare[i][j] = elem;
i--;
j++;
if (elem % n == 0)
{
i += 2;
j--;
}
else
{
if (i < 0)
i = n - 1;
if (j == n)
j = 0;
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)

29
printf("%6d", MSquare[i][j]);
printf("\n");
}
}

int main()
{
int n = 1;
do
{
printf("Enter a odd number greater than 1 to generate magic
square\n");
scanf("%d", &n);
} while (n <= 1 && n % 2 == 0);
OddMagicSquare(n);
return 0;
}

OUTPUT:

RESULT:
The program to generate an odd numbered magic square is written, compiled, executed and result is
verified successfully.

30
15.ONE DIMENSIONAL LOWER TRIANGULAR MATRIX

AIM:
To store the lower triangular matrix and the position of those elements in a one-dimensional array
using C program.

PROGRAM:
#include <stdio.h>

int main()
{
int size, index = 0, row, col;
printf("Enter the size of the matrix: \n");
scanf("%d", &size);
int matrix[size][size];
int lowerTriangular[size * (size + 1) / 2];
printf("Enter the elements of the lower triangular matrix:\n");
for (row = 0; row < size; row++)
{
printf("Row %d = ", row + 1);
for (col = 0; col < size; col++)
scanf("%d", &matrix[row][col]);
}
for (row = 0; row < size; row++)
for (col = 0; col <= row; col++)
if (row >= col && matrix[row][col] >= 0)
{
lowerTriangular[index] = matrix[row][col];
index++;
}

printf("1 Dimensional array representing lower triangular


matrix:\n");
for (index = 0; index < size * (size + 1) / 2; index++)
printf("%d ", lowerTriangular[index]);
return 0;
}

31
OUTPUT:

RESULT:
The program to store the lower triangular matrix and position of those elements in a one-dimensional
array is written, compiled, executed and result is verified successfully.

32
16.TRIDIAGONAL MATRIX
AIM:
To store the tridiagonal matrix and the position of those elements in a one-dimensional array using C
program.

PROGRAM:
#include <stdio.h>

void construct_tridiagonal_mat(int order, int a[order][order], int


A[])
{
int k = 0;
for (int i = 0; i < order; i++)
for (int j = 0; j < order; j++)
if (i == j || i - j == 1 || i - j == -1)
{
A[k] = a[i][j];
k++;
}
}

int main()
{
int order;
printf("Enter the order of the matrix: ");
scanf("%d", &order);
int a[order][order];
printf("Enter the elements of the tridiagonal matrix:\n");
for (int i = 0; i < order; i++)
{
printf("Enter row %d = ", (i + 1));
for (int j = 0; j < order; j++)
scanf("%d", &a[i][j]);
}
int d1n = (order * order) - 2;
int d1arr[d1n];
construct_tridiagonal_mat(order, a, d1arr);
printf("Elements in the one-dimensional array A:\n");
for (int i = 0; i < d1n; i++)

33
printf("%d ", d1arr[i]);
return 0;
}

OUTPUT:

RESULT:
The program to store the tridiagonal matrix and position of those elements in a one-dimensional array
is written, compiled, executed and result is verified successfully.

34
PYTHON PROGRAMS
1.AMICABLE NUMBERS
AIM:
To verify whether the two numbers are amicable numbers or not using python program.

PROGRAM:
def sopd(num):
sum = 0
numhalf = num // 2
for i in range(1,numhalf + 1):
if(num % i==0):
sum=sum+i
return sum

num1=int(input("Enter Number1 = "))


num2=int(input("Enter Number2 = "))
num1sod = sopd(num1)
num2sod = sopd(num2)
if((num1 == num2sod) and (num2 == num1sod)):
print(num1," and ",num2," are amicable numbers")
else:
print(num1," and ",num2," are not amicable numbers")

OUTPUT:

RESULT:
The program for verifying whether the given two numbers are amicable numbers or not is written,
compiled, executed and result is verified successfully.

35
2.SUPER PERFECT NUMBER
AIM:
To verify whether the given number is a super perfect number or not using python program.

PROGRAM:
def sod(num):
sum = 0
for i in range(1,num + 1):
if(num % i == 0):
sum = sum + i
return sum

num=int(input("Enter any number "))


sod1 = sod(num)
sod2 = sod(sod1)
if(sod2 == 2 * num):
print(num," is a super perfect number")
else:
print(num,"is not a super perfect number")

OUTPUT:

RESULT:
The program for verifying the given two numbers are super perfect numbers or not is written,
compiled, executed and result is verified successfully.

36
3.HARSHAD NUMBER
AIM:
• To calculate sum of digits of a number until sum becomes a single digit using python
program.
• To verify whether the given number is Harshad/Niven number or not using python program.

PROGRAM:
def sum_of_digit(n):
sum=0
while(n > 0):
sum=sum + (n % 10)
n=n // 10
return sum

num = int(input("Enter any number = "))


sod = sum_of_digit(num)
if(num % sod == 0):
print(num,"is a harshad number")
else:
print(num,"is not harshad number")
sod = sum_of_digit(sod)
print("sum of digits of until single digit ",num," is ",sod)

OUTPUT:

RESULT:
The program for verifying whether the given numbers are Harshad/Niven number or not and also the
result of sum of digits until the sum becomes a single digit is written, compiled, executed and result is
verified successfully.

37
4.LEFT SHIFT NUMBERS
AIM:
To generate all the left shift numbers possible and to find the largest number in the set using python
program.

PROGRAM:
def get_digits(number):
count = 0
while(number > 0 or number < 0):
count = count + 1
number = number // 10
return count

def left_shift(number):
digits = get_digits (number)
powerten = 10 ** (digits - 1)
print("All the posible left shift numbers are:")
largest = number
for i in range (0,digits - 1):
first_num = number // powerten
number = number % powerten
number = (number * 10) + first_num
print(number)
if (largest < number) :
largest = number
print("The largest number is ",number)

number = int(input("Enter the number = "))


left_shift(number)

OUTPUT:

RESULT:
The program to print all the left shift numbers and find the largest number in the set is written,
compiled, executed and result is verified successfully.

38
5.FOUR DIGIT NUMBER
AIM:
To rearrange the digits of the given four-digit number to get largest and smallest number and to get a
new number by subtracting the largest and smallest number using python program.

PROGRAM:
def get_largest(number):
result = 0
arr = [0] * 4
for i in range(4):
arr[i] = number % 10
number = number // 10
arr.sort()
for i in range(3,-1,-1):
result = result * 10 + arr[i]
return result

def get_smallest(number):
result = 0
for i in range(4):
result = result * 10 + (number % 10)
number = number // 10
return result

number = int(input("Enter the number = "))


count = 1
while(1):
count += 1
largestNo = get_largest(number)
smallestNo = get_smallest(largestNo)
number = largestNo - smallestNo
print("Largest number is ",largestNo," and the smallest number
is ",smallestNo)
print("Difference of both; new number is ",number)
if(number == 6174):
break

39
OUTPUT:

RESULT:
The program to rearrange the digits of the given four-digit number to get largest and smallest number
and to get a new number by subtracting the largest and smallest number is written, compiled, executed
and result is verified successfully.

40
6. HARMONIC DIVISOR NUMBER
AIM:
To check whether the given number is a harmonic divisor or not using python program.

PROGRAM:
def sod(num):
global ct
sum = []
for i in range(1,num + 1):
if(num % i == 0):
sum.append(i)
return sum
ct = 0
num = int(input("Enter the number:"))
divisors = sod(num)
divcount = len(divisors)
divsum = sum(divisors)
flag = (num * divcount) % divsum
if (not flag):
print("The number",num,"is a harmonic divisor")
else:
print("The number",num,"is not an harmonic divisor")

OUTPUT:

RESULT:
The program to verify whether the given number is harmonic number or not is written, compiled,
executed and result is verified successfully.

41
7.KAPREKAR NUMBER
AIM:
To generate the Kaprekar number of the given number using python program.

PROGRAM:
def get_digit_count (num):
count = 0
while(num > 0):
num //= 10
count += 1
return count
num = int(input("Enter the number: "))
square = num * num
digit_count = get_digit_count(num)
divisor = 10 ** digit_count
lsb = square % divisor
msb = square // divisor
sum = lsb + msb
if(sum == num):
print("The number",num,"is a kaprekar number")
else:
print("The number",num,"is not kaprekar number")

OUTPUT:

RESULT:
The program to verify whether the given number is kaprekar number or not is written, compiled,
executed and result is verified successfully.

42
8.ABUNDANT OR DEFICIENT NUMBER
AIM:
To find the numbers are Abundant or Deficient for the given natural numbers from 1 to 100 using
python program.
PROGRAM:
def sopd(num):
sum = 0
numhalf = num // 2
for i in range(1,numhalf + 1):
if(num % i == 0):
sum += i
return sum
num = int(input("Enter a number = "))

if(sopd(num) > num):


print("The number",num,"is abundant/excessive number")
else:
print("The number",num,"is deficient number")

OUTPUT:

RESULT:
The program to check whether the given number is an abundant or deficient number is written,
compiled, executed and result is verified successfully.

43
9.LOWER TRIANGULAR MATRIX
AIM:
To find the lower triangular matrix of a given matrix and to display it using python program.

PROGRAM:
n = int(input("Enter the size of matrix: "))
mat = [[0] * n for i in range(n)]
print("Enter matrix elements: ")
for row in range(0,n):
print("Enter row",(row + 1)," = ", end = "")
mat[row] = [x for x in input().split(" ")]

print("The lower triangular matrix is: ")


for row in range(0,n):
for col in range(0,n):
if row < col:
mat[row][col] = 0
print(mat[row][col]," ",end = " ")
print()

OUTPUT:

RESULT:
The program to print or display the lower triangular matrix of a given number is written, compiled,
executed and result is verified successfully.

44
10.ORTHOGONAL MATRIX
AIM:
To check whether the given matrix is orthogonal or not using python program.

PROGRAM:
n = int(input("Enter the size of matrix:"))
flag = 0
matrix = [[0] * n for i in range(n)]
transpose_matrix = [[0] * n for i in range(n)]
identity_matrix = [[0] * n for i in range(n)]
print("Enter matrix elements: ")
for row in range(0,n):
print("Enter row",(row + 1)," = ", end = "")
matrix[row] = [int(x) for x in input().split(" ")]
for i in range (0,n):
for j in range (0,n):
transpose_matrix[i][j] = matrix[j][i]
for i in range (0,n):
for j in range (0,n):
for k in range (0,n):
identity_matrix[i][j] = identity_matrix[i][j] +
(matrix[i][k] * transpose_matrix[k][j])
for i in range (0,n):
for j in range (0,n):
if((i==j and identity_matrix[i][j]!=1) or (i!=j and
identity_matrix[i][j]!=0)):
flag = 1
if(flag == 0):
print("The given matrix is orthogonal matrix ")
else:
print("The given matrix is not othogonal matrix ")

45
OUTPUT :

RESULT:
The program for checking the given matrix is orthogonal or not is written, compiled, executed and
result is verified successfully.

46
11.SYMMETRIC MATRIX
AIM:
To check whether the given matrix is symmetric or not using python program.

PROGRAM:
n = int(input("Enter the size of matrix:"))
flag = 0
matrix = [[0] * n for i in range (n)]
transpose_matrix = [[0] * n for i in range (n)]
print("Enter matrix elements: ")
for row in range(0,n):
print("Enter row",(row + 1)," = ", end = "")
matrix[row] = [int(x) for x in input().split(" ")]
for i in range (0,n):
for j in range (0,n):
transpose_matrix[i][j] = matrix[j][i]
for i in range (0,n):
for j in range (0,n):
if(matrix[i][j] != transpose_matrix[i][j]):
flag = 1
if(flag == 0):
print("The given matrix is symmetric matrix ")
else:
print("The given matrix is not symmetric matrix ")
OUTPUT:

RESULT:
The program for checking the given matrix is symmetric or not is written, compiled, executed and
result is verified successfully.

47
12.EIGHT QUEEN PROBLEM
AIM:
To place the Eight queen on an 8x8 chessboard in such a manner that no queen interferes the other 7
queen using python program.

PROGRAM:
def solveNQUtil(board, col):
if (col >= n):
return True
for i in range(n):
if(isSafe(board, i, col)):
board[i][col] = 1
if(solveNQUtil(board, col + 1)):
return True
board[i][col] = 0
return False

def isSafe(board, row, col):


for i in range(col):
if(board[row][i]):
return False
for i, j in zip(range(row,-1,-1), range(col,-1,-1)):
if(board[i][j]):
return False
for i, j in zip(range(row, n, 1), range(col, -1, -1)):
if(board[i][j]):
return False
return True

def printSolution(board):
for i in range(n):
for j in range(n):
if (board[i][j]):
print("Q", end = ' ')
else:
print(".", end = ' ')
print()

48
n = 8
board = [[0]*n for _ in range(n)]
if(solveNQUtil(board, 0) == False):
print("Solution doesn't exist")
else:
printSolution(board)

OUTPUT:

RESULT:
The program for checking the eight-queen placing on an 8x8 chessboard is written, compiled,
executed and result is verified successfully.

49
13. SINE SERIES
AIM:
To calculate the sine value for the given degree value using python program.

PROGRAM:
deg = int(input("Enter the deg value = "))
x = (deg * 3.14) / 180
tsin = term = x
prevterm = 0
i = 1
while(abs(term-prevterm) > 0.0001):
prevterm = term
i += 2
term = - term * x * x / (i * (i - 1))
tsin = tsin + term
print("The sine value of ",round(deg,2)," is ",round(tsin,2))

OUTPUT:

RESULT:
The program to calculate the sine value for the given degree value is written, compiled, executed and
result is verified successfully.

50
14.ODD NUMBER MAGIC SQUARE
AIM:
To generate an odd numbered magic square using python program.
PROGRAM:
n = 3
num = 1
size = n * n
square = [[0] * n for i in range(n)]
row = 0
col = n // 2
square[row][col] = num
while(num < size):
num = num + 1
row = (row - 1) % n
col = (col + 1) % n
if (square[row][col]):
col = (col + 2) % n
row = (row - 1) % n
square[row][col] = num
print("The magic square is:")
for i in range(0,n):
for j in range(0,n):
print(square[i][j],end = " ")
print()

OUTPUT:

RESULT:
The program to generate an odd numbered magic square is written, compiled, executed and result is
verified successfully.

51
15.ONE DIMENSIONAL LOWER TRIANGULAR MATRIX

AIM:
To store the lower triangular matrix and the position of those elements in a one-dimensional array
using python program.

PROGRAM:
n = int(input("Enter the size of matrix: "))
matrix = [[0] * n for i in range(n)]
array_size = (n * (n + 1) // 2)
one_d_array = [0] * array_size
print("Enter matrix elements")
for row in range(n):
print("Enter row",(row + 1), end = " : ")
matrix[row] = [int(x) for x in input().split(" ")]
k = 0
print("The lower triangular matrix is: ")
for row in range(n):
for col in range(n):
print(matrix[row][col]," ",end = " ")
if(row >= col and matrix[row][col] > 0):
one_d_array[k] = matrix[row][col]
k += 1
print()
print("The one dimensional array is ")
for i in range(array_size):
print(one_d_array[i],end = " ")

OUTPUT:

RESULT:
The program to store the lower triangular matrix and position of those elements in a one-dimensional
array is written, compiled, executed and result is verified successfully.

52
16.TRIDIAGONAL MATRIX
AIM:
To store the tridiagonal matrix and the position of those elements in a one-dimensional array using
python program.

PROGRAM:
n = int(input("Enter the size of matrix: "))
matrix = [[0] * n for i in range(n)]
array_size = (n + (2 * (n - 1)))
tridiagonal = [0] * array_size
k = 0
print("Enter matrix elements")
for row in range(0,n):
print("Enter row",(row + 1), end = " : ")
matrix[row] = [int(x) for x in input().split(" ")]
print("The tridiagonal matrix is: ")
for row in range(n):
for col in range(n):
print(matrix[row][col]," ",end = " ")
if((abs(row - col) or row == col) and matrix[row][col] > 0):
tridiagonal[k] = matrix[row][col]
k = k + 1
print()
print("The one dimensional array representation of tridiagonal
matrix is")
for i in range(array_size):
print(tridiagonal[i],end = " ")
OUTPUT:

RESULT:
The program to store the tridiagonal matrix and position of those elements in a one-dimensional array
is written, compiled, executed and result is verified successfully.

53

You might also like