Top 500 Java Questions with Answers for Interview Preparation

 Top 500 Java Questions with Answers for Interview Preparation


Introduction:

Java programming is widely used in software development. Practicing coding problems is the best way to improve your skills. Here, we have compiled 500 Java programs, from beginner to advanced level, covering basics, arrays, strings, matrices, patterns, recursion, and more.

These programs are perfect for students, beginners, and job aspirants preparing for interviews or improving their programming skills.

Table of Contents:

  1. Core Java Basics (1–100)

  2. Conditional & Loop Programs (101–200)

  3. Array Programs (201–300)

  4. String Programs (301–400)

  5. Matrix, Patterns & Advanced (401–500)


Tips for Reading & Practicing:

  • Copy each program and run in your IDE (Eclipse, IntelliJ, VS Code)

  • Try modifying the code to understand it better

  • Take notes on logic and patterns

  • Track programs you struggle with and revisit them



Core Java & Basics (1–15)

  1. Print "Hello World"

  2. Sum of two numbers

  3. Swap two numbers without using third variable

  4. Find largest of three numbers

  5. Find smallest of three numbers

  6. Check whether a number is even or odd

  7. Check whether a number is positive, negative, or zero

  8. Find factorial of a number (iterative)

  9. Find factorial of a number (recursive)

  10. Check prime number

  11. Generate Fibonacci series (iterative)

  12. Generate Fibonacci series (recursive)

  13. Reverse a number

  14. Count digits in a number

  15. Check Armstrong number


String Programs (16–30)

  1. Reverse a string

  2. Check palindrome string

  3. Count vowels in a string

  4. Count consonants in a string

  5. Count words in a string

  6. Convert string to uppercase

  7. Convert string to lowercase

  8. Remove whitespace from string

  9. Find length of string without using length()

  10. Check anagram of two strings

  11. Check if string contains only digits

  12. Count occurrence of a character in string

  13. Find duplicate characters in string

  14. Remove duplicate characters from string

  15. Print first non-repeating character


Array Programs (31–45)

  1. Find sum of array elements

  2. Find largest element in array

  3. Find smallest element in array

  4. Reverse an array

  5. Check if array is sorted

  6. Sort array using bubble sort

  7. Sort array using selection sort

  8. Sort array using insertion sort

  9. Find second largest element

  10. Find second smallest element

  11. Find duplicate elements in array

  12. Count occurrence of each element

  13. Merge two arrays

  14. Remove duplicate elements

  15. Find missing number in array


OOP & Class-Based Programs (46–60)

  1. Create class and object

  2. Constructor overloading

  3. Method overloading

  4. Method overriding

  5. Use super keyword

  6. Use this keyword

  7. Static vs instance variables

  8. Final keyword usage

  9. Abstract class example

  10. Interface example

  11. Multiple interface implementation

  12. Polymorphism example

  13. Encapsulation example

  14. Inheritance example

  15. Access modifiers example


Recursion & Logic Programs (61–70)

  1. Factorial using recursion

  2. Fibonacci using recursion

  3. Sum of natural numbers using recursion

  4. Reverse a string using recursion

  5. Check palindrome using recursion

  6. Find GCD of two numbers

  7. Find LCM of two numbers

  8. Tower of Hanoi

  9. Print numbers from n to 1 using recursion

  10. Print numbers from 1 to n using recursion


Collections & Data Structures (71–80)

  1. ArrayList example

  2. LinkedList example

  3. HashSet example

  4. TreeSet example

  5. HashMap example

  6. TreeMap example

  7. LinkedHashMap example

  8. Iterate over Map using for-each

  9. Sort ArrayList

  10. Sort HashMap by value


Advanced String & Number Programs (81–90)

  1. Reverse words in a sentence

  2. Count number of uppercase and lowercase letters

  3. Check pangram string

  4. Remove all vowels from string

  5. Print duplicate words in string

  6. Check if two numbers are co-prime

  7. Sum of digits of a number

  8. Product of digits of a number

  9. Find power of a number without using Math.pow()

  10. Find square root without using Math.sqrt()


Multithreading & Concurrency (91–95)

  1. Create thread by extending Thread class

  2. Create thread by implementing Runnable

  3. Thread sleep example

  4. Thread join example

  5. Synchronized method example


Java 8 Features & Misc (96–100)

  1. Lambda expression example

  2. Stream API to filter collection

  3. Stream API to map values

  4. Optional class example

  5. Default and static methods in interface


Core Java & Basics (101–115)

  1. Check whether a number is palindrome

  2. Find sum of digits of a number

  3. Find product of digits of a number

  4. Check strong number

  5. Check perfect number

  6. Count number of digits in a number

  7. Print multiplication table of a number

  8. Print all prime numbers in range

  9. Find sum of prime numbers in range

  10. Find factorial of a number using while loop

  11. Reverse a number using while loop

  12. Check if a number is Armstrong

  13. Print Fibonacci series up to n terms

  14. Check if a number is happy number

  15. Check if a number is neon number


String Programs (116–130)

  1. Count number of vowels and consonants

  2. Check if string is palindrome

  3. Reverse words in a sentence

  4. Count words in a sentence

  5. Count occurrence of each character

  6. Remove duplicate characters from string

  7. Find first non-repeating character

  8. Convert string to uppercase

  9. Convert string to lowercase

  10. Replace spaces with underscore

  11. Reverse each word in a sentence

  12. Check if two strings are anagrams

  13. Check if string contains only digits

  14. Remove all vowels from a string

  15. Check if string is pangram


Array Programs (131–150)

  1. Find sum of array elements

  2. Find largest element in array

  3. Find smallest element in array

  4. Reverse an array

  5. Sort array using bubble sort

  6. Sort array using selection sort

  7. Sort array using insertion sort

  8. Find second largest element

  9. Find second smallest element

  10. Count duplicate elements

  11. Remove duplicate elements

  12. Merge two arrays

  13. Find missing number in array

  14. Find majority element in array

  15. Move all zeros to end of array

  16. Rotate array by d positions

  17. Find pair with given sum

  18. Find maximum subarray sum (Kadane’s Algorithm)

  19. Check if array is subset of another array

  20. Find equilibrium index in array


OOP & Class-Based Programs (151–170)

  1. Create class and object example

  2. Constructor overloading

  3. Method overloading

  4. Method overriding

  5. Use super keyword

  6. Use this keyword

  7. Static vs instance variables

  8. Final keyword usage

  9. Abstract class example

  10. Interface example

  11. Multiple interface implementation

  12. Polymorphism example

  13. Encapsulation example

  14. Inheritance example

  15. Access modifiers example

  16. Create package and use it

  17. Static block example

  18. Nested class example

  19. Inner class example

  20. Anonymous inner class example


Recursion & Logic Programs (171–185)

  1. Factorial using recursion

  2. Fibonacci using recursion

  3. Sum of natural numbers using recursion

  4. Reverse a string using recursion

  5. Check palindrome using recursion

  6. GCD of two numbers

  7. LCM of two numbers

  8. Tower of Hanoi problem

  9. Print numbers from n to 1 using recursion

  10. Print numbers from 1 to n using recursion

  11. Print sum of digits using recursion

  12. Check if array is sorted using recursion

  13. Find maximum in array using recursion

  14. Find minimum in array using recursion

  15. Binary search using recursion


Collections & Data Structures (186–200)

  1. ArrayList example

  2. LinkedList example

  3. HashSet example

  4. TreeSet example

  5. HashMap example

  6. TreeMap example

  7. LinkedHashMap example

  8. Iterate over Map using for-each

  9. Sort ArrayList

  10. Sort HashMap by value

  11. Stack example

  12. Queue example

  13. PriorityQueue example

  14. Deque example

  15. HashMap frequency count example


Core Java & Basics (201–215)

  1. Check whether a year is leap year

  2. Print ASCII value of a character

  3. Swap two numbers using bitwise operator

  4. Sum of digits until single digit

  5. Check if a number is automorphic

  6. Print all automorphic numbers in a range

  7. Check if a number is palindrome

  8. Count number of prime numbers in a range

  9. Sum of first n prime numbers

  10. Find HCF and LCM of two numbers

  11. Check perfect number

  12. Check strong number

  13. Check neon number

  14. Sum of cubes of digits

  15. Reverse digits of a number


String Programs (216–230)

  1. Reverse a string

  2. Check palindrome string

  3. Count vowels in a string

  4. Count consonants in a string

  5. Count uppercase and lowercase letters

  6. Count words in a sentence

  7. Remove all whitespaces

  8. Check if string contains only digits

  9. Find duplicate characters in string

  10. Remove duplicate characters from string

  11. Find first non-repeating character

  12. Convert string to uppercase

  13. Convert string to lowercase

  14. Reverse each word in a sentence

  15. Check if two strings are anagrams


Array Programs (231–250)

  1. Sum of array elements

  2. Largest element in array

  3. Smallest element in array

  4. Reverse an array

  5. Sort array using bubble sort

  6. Sort array using selection sort

  7. Sort array using insertion sort

  8. Find second largest element

  9. Find second smallest element

  10. Count duplicate elements in array

  11. Remove duplicate elements

  12. Merge two arrays

  13. Find missing number in array

  14. Find majority element

  15. Move all zeros to end

  16. Rotate array by d positions

  17. Find pair with given sum

  18. Maximum subarray sum (Kadane’s Algorithm)

  19. Check if array is subset of another

  20. Find equilibrium index


OOP & Class-Based Programs (251–270)

  1. Create class and object example

  2. Constructor overloading

  3. Method overloading

  4. Method overriding

  5. Use super keyword

  6. Use this keyword

  7. Static vs instance variables

  8. Final keyword usage

  9. Abstract class example

  10. Interface example

  11. Multiple interface implementation

  12. Polymorphism example

  13. Encapsulation example

  14. Inheritance example

  15. Access modifiers example

  16. Create package and use it

  17. Static block example

  18. Nested class example

  19. Inner class example

  20. Anonymous inner class example


Recursion & Logic Programs (271–285)

  1. Factorial using recursion

  2. Fibonacci using recursion

  3. Sum of natural numbers using recursion

  4. Reverse a string using recursion

  5. Check palindrome using recursion

  6. GCD of two numbers

  7. LCM of two numbers

  8. Tower of Hanoi

  9. Print numbers from n to 1 using recursion

  10. Print numbers from 1 to n using recursion

  11. Sum of digits using recursion

  12. Check if array is sorted using recursion

  13. Find maximum in array using recursion

  14. Find minimum in array using recursion

  15. Binary search using recursion


Collections & Data Structures (286–300)

  1. ArrayList example

  2. LinkedList example

  3. HashSet example

  4. TreeSet example

  5. HashMap example

  6. TreeMap example

  7. LinkedHashMap example

  8. Iterate over Map using for-each

  9. Sort ArrayList

  10. Sort HashMap by value

  11. Stack example

  12. Queue example

  13. PriorityQueue example

  14. Deque example

  15. HashMap frequency count example


Advanced Core Java & Basics (301–320)

  1. Check if a number is a palindrome without converting to string

  2. Count trailing zeros in factorial of a number

  3. Print all strong numbers in a given range

  4. Find sum of even and odd digits separately

  5. Check if a number is abundant, deficient, or perfect

  6. Find digital root of a number

  7. Print all narcissistic numbers in range

  8. Find power of a number using recursion

  9. Count number of prime factors of a number

  10. Check if a number is a circular prime

  11. Print Pascal’s triangle

  12. Find sum of series: 1 + 1/2 + 1/3 + … + 1/n

  13. Calculate square root using Newton-Raphson method

  14. Check if a number is a Smith number

  15. Generate all prime numbers using Sieve of Eratosthenes

  16. Count number of digits divisible by 3

  17. Find sum of digits at odd positions

  18. Find sum of digits at even positions

  19. Print all perfect squares in range

  20. Find factorial of large numbers using BigInteger


Advanced String Programs (321–340)

  1. Find longest substring without repeating characters

  2. Count palindromic substrings in a string

  3. Check if string is a mirror string

  4. Convert string to title case

  5. Count special characters in string

  6. Find longest word in a sentence

  7. Find shortest word in a sentence

  8. Check if string contains substring ignoring case

  9. Replace all occurrences of a word in a string

  10. Check if string is a valid identifier

  11. Convert string to camel case

  12. Reverse words in a string without using split()

  13. Check if string is rotational of another string

  14. Find first repeated word in string

  15. Find last repeated word in string

  16. Count occurrence of each word in string

  17. Remove all duplicate words from string

  18. Check if two strings are antigrams

  19. Check if two strings are isograms

  20. Find all permutations of a string


Advanced Array Programs (341–360)

  1. Find missing multiple numbers in an array

  2. Find smallest missing positive number

  3. Find all pairs with given product

  4. Find all triplets with given sum

  5. Count frequency of each element without using Map

  6. Find maximum product subarray

  7. Find minimum product subarray

  8. Rotate matrix by 90 degrees

  9. Find leader elements in array

  10. Find elements appearing more than n/3 times

  11. Find maximum sum circular subarray

  12. Sort array of 0s, 1s, 2s (Dutch National Flag Problem)

  13. Find median of two sorted arrays

  14. Find closest pair from two arrays

  15. Merge two sorted arrays without extra space

  16. Maximum difference between two elements

  17. Minimum difference between two elements

  18. Count number of triplets with sum zero

  19. Find repeating and missing number in array

  20. Count number of inversions in array


OOP & Design Patterns (361–380)

  1. Singleton class example

  2. Factory design pattern example

  3. Builder design pattern example

  4. Prototype design pattern example

  5. Observer design pattern example

  6. Strategy design pattern example

  7. Decorator design pattern example

  8. Adapter design pattern example

  9. Template design pattern example

  10. Command design pattern example

  11. Create immutable class example

  12. Use enum types in Java

  13. Method references in custom classes

  14. Default method conflict resolution in interfaces

  15. Multiple inheritance using interfaces

  16. Abstract class vs interface differences

  17. Polymorphism with constructors

  18. Object cloning using clone()

  19. Deep cloning vs shallow cloning

  20. Use of instanceof with polymorphism


Recursion & Logic Programs (381–400)

  1. Solve N-Queens problem

  2. Rat in a maze problem

  3. Knight’s tour problem

  4. Count number of ways to reach end of matrix

  5. Print all paths in a matrix

  6. Subset sum problem using recursion

  7. Generate all subsets of a set

  8. Generate all permutations of array

  9. Find Fibonacci series using memoization

  10. Calculate binomial coefficient using recursion

  11. Solve coin change problem

  12. Print all possible binary strings of length n

  13. Print all balanced parentheses of n pairs

  14. Print all possible paths from top-left to bottom-right

  15. Count all possible paths in grid with obstacles

  16. Solve Tower of Hanoi with 4 rods

  17. Count ways to climb stairs with 1,2,3 steps

  18. Find number of derangements of n elements

  19. Sum of digits of number until single digit (digital root)

  20. Print Pascal triangle using recursion


Advanced Core Java & Basics (401–420)

  1. Check if a number is a happy number

  2. Print all happy numbers in a range

  3. Check if a number is a harshad (Niven) number

  4. Check if a number is a spy number

  5. Count number of set bits in binary representation

  6. Find position of first set bit

  7. Convert decimal to binary

  8. Convert binary to decimal

  9. Convert decimal to octal

  10. Convert octal to decimal

  11. Convert decimal to hexadecimal

  12. Convert hexadecimal to decimal

  13. Check if a number is a power of two

  14. Check if a number is a power of three

  15. Find next higher number with same number of set bits

  16. Swap nibbles in a byte

  17. Count trailing zeros in factorial of a number

  18. Reverse bits of a number

  19. Check if binary representation is palindrome

  20. Count number of ones in binary representation


Advanced String Programs (421–440)

  1. Check if string is palindrome ignoring spaces

  2. Count number of words starting with vowel

  3. Count number of words ending with vowel

  4. Check if string is a pangram ignoring case

  5. Reverse string using recursion

  6. Find all anagrams of a string

  7. Count palindromic words in a sentence

  8. Remove all punctuations from string

  9. Check if string is rotation of another string

  10. Find longest common prefix

  11. Find longest common suffix

  12. Replace all spaces with %20 (URL encoding)

  13. Count number of numeric strings in sentence

  14. Extract digits from string

  15. Extract alphabets from string

  16. Reverse string without using additional array

  17. Check if string is valid palindrome ignoring punctuation

  18. Find most frequent word in string

  19. Count distinct words in string

  20. Find all unique substrings of a string


Advanced Array Programs (441–460)

  1. Find maximum difference between two elements where larger element appears after smaller

  2. Find all leaders in an array

  3. Find majority element using Boyer-Moore Voting Algorithm

  4. Find maximum sum increasing subsequence

  5. Find longest increasing subsequence

  6. Find longest decreasing subsequence

  7. Find maximum circular subarray sum

  8. Find k largest elements in array

  9. Find k smallest elements in array

  10. Merge k sorted arrays

  11. Find smallest range containing elements from k lists

  12. Count triplets with sum smaller than given value

  13. Count triplets with sum greater than given value

  14. Find maximum product of three numbers in array

  15. Find minimum product of three numbers in array

  16. Maximum sum path in two sorted arrays

  17. Count number of subarrays with sum equal to k

  18. Count number of subarrays with sum divisible by n

  19. Find length of longest subarray with sum 0

  20. Find length of longest consecutive elements sequence


OOP & Advanced Java Features (461–480)

  1. Singleton using enum

  2. Factory method with parameterized object creation

  3. Prototype pattern with deep cloning

  4. Observer pattern with custom events

  5. Decorator pattern example

  6. Adapter pattern for legacy code integration

  7. Strategy pattern example

  8. Template method design pattern example

  9. Command pattern example

  10. Builder pattern for complex object creation

  11. Immutable class using final fields and deep copy

  12. Enum with fields and methods

  13. Using instanceof in polymorphism scenarios

  14. Method reference with static methods

  15. Method reference with instance methods

  16. Stream API filter, map, reduce examples

  17. Optional to avoid NullPointerException

  18. Default method conflict resolution in interface

  19. Static methods in interface

  20. Using LocalDate, LocalTime, LocalDateTime classes


Recursion, Logic & Problem Solving (481–500)

  1. N-Queens problem using backtracking

  2. Rat in a maze problem

  3. Knight’s tour problem

  4. Count number of paths in a grid

  5. Generate all possible subsets of a set

  6. Generate all permutations of array

  7. Subset sum problem

  8. Coin change problem

  9. Print all balanced parentheses of n pairs

  10. Sum of digits until single digit (digital root)

  11. Tower of Hanoi with 4 rods

  12. Count ways to climb stairs with 1,2,3 steps

  13. Find number of derangements of n elements

  14. Solve Sudoku using backtracking

  15. Maximum sum path in matrix

  16. Print all possible paths from top-left to bottom-right in matrix

  17. Count all paths with obstacles in matrix

  18. Minimum cost path in matrix

  19. Longest common subsequence (LCS)

  20. Longest common substring


CODING PART

// 1. Print "Hello World"
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

// 2. Sum of two numbers
import java.util.Scanner;
public class SumTwoNumbers {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter first number: ");
        int a = sc.nextInt();
        System.out.print("Enter second number: ");
        int b = sc.nextInt();
        int sum = a + b;
        System.out.println("Sum = " + sum);
    }
}

// 3. Swap two numbers without using third variable
import java.util.Scanner;
public class SwapNumbers {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter first number: ");
        int a = sc.nextInt();
        System.out.print("Enter second number: ");
        int b = sc.nextInt();
        a = a + b;
        b = a - b;
        a = a - b;
        System.out.println("After swapping: a = " + a + ", b = " + b);
    }
}

// 4. Find largest of three numbers
import java.util.Scanner;
public class LargestOfThree {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter three numbers: ");
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int largest = (a > b) ? (a > c ? a : c) : (b > c ? b : c);
        System.out.println("Largest = " + largest);
    }
}

// 5. Find smallest of three numbers
import java.util.Scanner;
public class SmallestOfThree {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter three numbers: ");
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int smallest = (a < b) ? (a < c ? a : c) : (b < c ? b : c);
        System.out.println("Smallest = " + smallest);
    }
}

// 6. Check whether a number is even or odd
import java.util.Scanner;
public class EvenOdd {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number: ");
        int n = sc.nextInt();
        if(n % 2 == 0)
            System.out.println(n + " is even");
        else
            System.out.println(n + " is odd");
    }
}

// 7. Check whether a number is positive, negative, or zero
import java.util.Scanner;
public class PosNegZero {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number: ");
        int n = sc.nextInt();
        if(n > 0)
            System.out.println("Positive");
        else if(n < 0)
            System.out.println("Negative");
        else
            System.out.println("Zero");
    }
}

// 8. Find factorial of a number (iterative)
import java.util.Scanner;
public class FactorialIterative {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number: ");
        int n = sc.nextInt();
        int fact = 1;
        for(int i = 1; i <= n; i++)
            fact *= i;
        System.out.println("Factorial = " + fact);
    }
}

// 9. Find factorial of a number (recursive)
import java.util.Scanner;
public class FactorialRecursive {
    static int factorial(int n) {
        if(n == 0 || n == 1)
            return 1;
        else
            return n * factorial(n - 1);
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number: ");
        int n = sc.nextInt();
        System.out.println("Factorial = " + factorial(n));
    }
}

// 10. Check prime number
import java.util.Scanner;
public class PrimeCheck {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number: ");
        int n = sc.nextInt();
        boolean isPrime = true;
        if(n <= 1) isPrime = false;
        for(int i = 2; i <= Math.sqrt(n); i++) {
            if(n % i == 0) {
                isPrime = false;
                break;
            }
        }
        System.out.println(n + (isPrime ? " is prime" : " is not prime"));
    }
}

// 11. Generate Fibonacci series (iterative)
import java.util.Scanner;
public class FibonacciIterative {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number of terms: ");
        int n = sc.nextInt();
        int a = 0, b = 1;
        System.out.print("Fibonacci series: ");
        for(int i = 1; i <= n; i++) {
            System.out.print(a + " ");
            int next = a + b;
            a = b;
            b = next;
        }
    }
}

// 12. Generate Fibonacci series (recursive)
import java.util.Scanner;
public class FibonacciRecursive {
    static int fib(int n) {
        if(n == 0) return 0;
        if(n == 1) return 1;
        return fib(n - 1) + fib(n - 2);
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number of terms: ");
        int n = sc.nextInt();
        System.out.print("Fibonacci series: ");
        for(int i = 0; i < n; i++) {
            System.out.print(fib(i) + " ");
        }
    }
}

// 13. Reverse a number
import java.util.Scanner;
public class ReverseNumber {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        int rev = 0;
        while(n != 0) {
            rev = rev * 10 + n % 10;
            n /= 10;
        }
        System.out.println("Reversed number: " + rev);
    }
}

// 14. Count digits in a number
import java.util.Scanner;
public class CountDigits {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        int count = 0;
        while(n != 0) {
            n /= 10;
            count++;
        }
        System.out.println("Number of digits: " + count);
    }
}

// 15. Check Armstrong number
import java.util.Scanner;
public class ArmstrongNumber {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        int original = n, sum = 0;
        while(n != 0) {
            int digit = n % 10;
            sum += digit * digit * digit;
            n /= 10;
        }
        System.out.println(original + (sum == original ? " is an Armstrong number" : " is not an Armstrong number"));
    }
}

// 16. Check whether a number is even or odd (using ternary operator)
import java.util.Scanner;
public class EvenOddTernary {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number: ");
        int n = sc.nextInt();
        String result = (n % 2 == 0) ? "Even" : "Odd";
        System.out.println(n + " is " + result);
    }
}

// 17. Find square of a number
import java.util.Scanner;
public class SquareNumber {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        System.out.println("Square = " + (n * n));
    }
}

// 18. Find cube of a number
import java.util.Scanner;
public class CubeNumber {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        System.out.println("Cube = " + (n * n * n));
    }
}

// 19. Calculate sum of n natural numbers (iterative)
import java.util.Scanner;
public class SumNaturalNumbers {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter n: ");
        int n = sc.nextInt();
        int sum = 0;
        for(int i = 1; i <= n; i++)
            sum += i;
        System.out.println("Sum = " + sum);
    }
}

// 20. Calculate sum of n natural numbers (formula)
import java.util.Scanner;
public class SumNaturalNumbersFormula {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter n: ");
        int n = sc.nextInt();
        int sum = n * (n + 1) / 2;
        System.out.println("Sum = " + sum);
    }
}

// 21. Find GCD of two numbers
import java.util.Scanner;
public class GCD {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter two numbers: ");
        int a = sc.nextInt();
        int b = sc.nextInt();
        while(b != 0) {
            int temp = b;
            b = a % b;
            a = temp;
        }
        System.out.println("GCD = " + a);
    }
}

// 22. Find LCM of two numbers
import java.util.Scanner;
public class LCM {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter two numbers: ");
        int a = sc.nextInt();
        int b = sc.nextInt();
        int lcm = (a > b) ? a : b;
        while(true) {
            if(lcm % a == 0 && lcm % b == 0)
                break;
            lcm++;
        }
        System.out.println("LCM = " + lcm);
    }
}

// 23. Sum of digits of a number
import java.util.Scanner;
public class SumOfDigits {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        int sum = 0;
        while(n != 0) {
            sum += n % 10;
            n /= 10;
        }
        System.out.println("Sum of digits = " + sum);
    }
}

// 24. Check if number is palindrome (revisited)
import java.util.Scanner;
public class NumberPalindrome {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        int original = n, rev = 0;
        while(n != 0) {
            rev = rev * 10 + n % 10;
            n /= 10;
        }
        System.out.println(original + (original == rev ? " is a palindrome" : " is not a palindrome"));
    }
}

// 25. Reverse a string
import java.util.Scanner;
public class ReverseString {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String str = sc.nextLine();
        String rev = "";
        for(int i = str.length() - 1; i >= 0; i--)
            rev += str.charAt(i);
        System.out.println("Reversed string: " + rev);
    }
}

// 26. Check palindrome string
import java.util.Scanner;
public class StringPalindrome {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String str = sc.nextLine();
        String rev = "";
        for(int i = str.length() - 1; i >= 0; i--)
            rev += str.charAt(i);
        System.out.println(str + (str.equals(rev) ? " is a palindrome" : " is not a palindrome"));
    }
}

// 27. Count vowels in a string
import java.util.Scanner;
public class CountVowels {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String str = sc.nextLine().toLowerCase();
        int count = 0;
        for(int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);
            if(ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')
                count++;
        }
        System.out.println("Number of vowels = " + count);
    }
}

// 28. Count consonants in a string
import java.util.Scanner;
public class CountConsonants {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String str = sc.nextLine().toLowerCase();
        int count = 0;
        for(int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);
            if(ch >= 'a' && ch <= 'z' && !(ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u'))
                count++;
        }
        System.out.println("Number of consonants = " + count);
    }
}

// 29. Count words in a sentence
import java.util.Scanner;
public class CountWords {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a sentence: ");
        String sentence = sc.nextLine().trim();
        if(sentence.isEmpty()) {
            System.out.println("Number of words = 0");
        } else {
            String[] words = sentence.split("\\s+");
            System.out.println("Number of words = " + words.length);
        }
    }
}

// 30. Find first non-repeating character in a string
import java.util.Scanner;
public class FirstNonRepeatingChar {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String str = sc.nextLine();
        char result = 0;
        for(int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);
            if(str.indexOf(ch) == str.lastIndexOf(ch)) {
                result = ch;
                break;
            }
        }
        if(result != 0)
            System.out.println("First non-repeating character: " + result);
        else
            System.out.println("No non-repeating character found");
    }
}

// 31. Find largest element in an array
import java.util.Scanner;
public class LargestInArray {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i = 0; i < n; i++) arr[i] = sc.nextInt();
        int largest = arr[0];
        for(int i = 1; i < n; i++)
            if(arr[i] > largest) largest = arr[i];
        System.out.println("Largest element = " + largest);
    }
}

// 32. Find smallest element in an array
import java.util.Scanner;
public class SmallestInArray {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i = 0; i < n; i++) arr[i] = sc.nextInt();
        int smallest = arr[0];
        for(int i = 1; i < n; i++)
            if(arr[i] < smallest) smallest = arr[i];
        System.out.println("Smallest element = " + smallest);
    }
}

// 33. Sum of all elements in an array
import java.util.Scanner;
public class SumOfArray {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i = 0; i < n; i++) arr[i] = sc.nextInt();
        int sum = 0;
        for(int i = 0; i < n; i++) sum += arr[i];
        System.out.println("Sum of array elements = " + sum);
    }
}

// 34. Reverse an array
import java.util.Scanner;
public class ReverseArray {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i = 0; i < n; i++) arr[i] = sc.nextInt();
        System.out.print("Reversed array: ");
        for(int i = n - 1; i >= 0; i--) System.out.print(arr[i] + " ");
    }
}

// 35. Check if an array is sorted (ascending)
import java.util.Scanner;
public class ArraySorted {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i = 0; i < n; i++) arr[i] = sc.nextInt();
        boolean sorted = true;
        for(int i = 0; i < n - 1; i++) {
            if(arr[i] > arr[i + 1]) {
                sorted = false;
                break;
            }
        }
        System.out.println("Array is " + (sorted ? "sorted" : "not sorted"));
    }
}

// 36. Find second largest element in an array
import java.util.Scanner;
public class SecondLargest {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i = 0; i < n; i++) arr[i] = sc.nextInt();
        int largest = Integer.MIN_VALUE, second = Integer.MIN_VALUE;
        for(int i = 0; i < n; i++) {
            if(arr[i] > largest) {
                second = largest;
                largest = arr[i];
            } else if(arr[i] > second && arr[i] != largest) {
                second = arr[i];
            }
        }
        System.out.println("Second largest element = " + second);
    }
}

// 37. Find second smallest element in an array
import java.util.Scanner;
public class SecondSmallest {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i = 0; i < n; i++) arr[i] = sc.nextInt();
        int smallest = Integer.MAX_VALUE, second = Integer.MAX_VALUE;
        for(int i = 0; i < n; i++) {
            if(arr[i] < smallest) {
                second = smallest;
                smallest = arr[i];
            } else if(arr[i] < second && arr[i] != smallest) {
                second = arr[i];
            }
        }
        System.out.println("Second smallest element = " + second);
    }
}

// 38. Count frequency of elements in an array
import java.util.Scanner;
import java.util.HashMap;
public class FrequencyArray {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i = 0; i < n; i++) arr[i] = sc.nextInt();
        HashMap<Integer, Integer> map = new HashMap<>();
        for(int num : arr) map.put(num, map.getOrDefault(num, 0) + 1);
        System.out.println("Frequency of elements: " + map);
    }
}

// 39. Merge two arrays
import java.util.Scanner;
import java.util.Arrays;
public class MergeArrays {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1 = sc.nextInt();
        int[] arr1 = new int[n1];
        System.out.println("Enter elements for first array:");
        for(int i = 0; i < n1; i++) arr1[i] = sc.nextInt();

        System.out.print("Enter size of second array: ");
        int n2 = sc.nextInt();
        int[] arr2 = new int[n2];
        System.out.println("Enter elements for second array:");
        for(int i = 0; i < n2; i++) arr2[i] = sc.nextInt();

        int[] merged = new int[n1 + n2];
        for(int i = 0; i < n1; i++) merged[i] = arr1[i];
        for(int i = 0; i < n2; i++) merged[n1 + i] = arr2[i];

        System.out.println("Merged array: " + Arrays.toString(merged));
    }
}

// 40. Find missing number in array of 1 to n
import java.util.Scanner;
public class MissingNumber {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size (n-1 elements for 1 to n): ");
        int n = sc.nextInt();
        int[] arr = new int[n - 1];
        System.out.println("Enter elements:");
        int sum = 0;
        for(int i = 0; i < n - 1; i++) {
            arr[i] = sc.nextInt();
            sum += arr[i];
        }
        int total = n * (n + 1) / 2;
        System.out.println("Missing number = " + (total - sum));
    }
}

// 41. Check if array contains a given element
import java.util.Scanner;
public class ArrayContains {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i = 0; i < n; i++) arr[i] = sc.nextInt();
        System.out.print("Enter element to check: ");
        int x = sc.nextInt();
        boolean found = false;
        for(int num : arr) {
            if(num == x) {
                found = true;
                break;
            }
        }
        System.out.println(x + (found ? " is present in array" : " is not present in array"));
    }
}

// 42. Count number of even and odd elements in array
import java.util.Scanner;
public class EvenOddArray {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i = 0; i < n; i++) arr[i] = sc.nextInt();
        int even = 0, odd = 0;
        for(int num : arr) {
            if(num % 2 == 0) even++;
            else odd++;
        }
        System.out.println("Even count = " + even + ", Odd count = " + odd);
    }
}

// 43. Find sum of even and odd elements in array
import java.util.Scanner;
public class SumEvenOddArray {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i = 0; i < n; i++) arr[i] = sc.nextInt();
        int sumEven = 0, sumOdd = 0;
        for(int num : arr) {
            if(num % 2 == 0) sumEven += num;
            else sumOdd += num;
        }
        System.out.println("Sum of even elements = " + sumEven + ", Sum of odd elements = " + sumOdd);
    }
}

// 44. Find maximum and minimum in an array
import java.util.Scanner;
public class MaxMinArray {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i = 0; i < n; i++) arr[i] = sc.nextInt();
        int max = arr[0], min = arr[0];
        for(int i = 1; i < n; i++) {
            if(arr[i] > max) max = arr[i];
            if(arr[i] < min) min = arr[i];
        }
        System.out.println("Maximum = " + max + ", Minimum = " + min);
    }
}

// 45. Find sum of diagonal elements in a square matrix
import java.util.Scanner;
public class DiagonalSum {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter size of square matrix: ");
        int n = sc.nextInt();
        int[][] mat = new int[n][n];
        System.out.println("Enter elements:");
        for(int i = 0; i < n; i++)
            for(int j = 0; j < n; j++)
                mat[i][j] = sc.nextInt();
        int sum = 0;
        for(int i = 0; i < n; i++) sum += mat[i][i]; // main diagonal
        System.out.println("Sum of main diagonal elements = " + sum);
    }
}

// 46. Check if a string is an anagram of another
import java.util.Scanner;
import java.util.Arrays;
public class AnagramCheck {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter first string: ");
        String str1 = sc.nextLine().replaceAll("\\s","").toLowerCase();
        System.out.print("Enter second string: ");
        String str2 = sc.nextLine().replaceAll("\\s","").toLowerCase();
        if(str1.length() != str2.length()) {
            System.out.println("Not an anagram");
            return;
        }
        char[] a = str1.toCharArray();
        char[] b = str2.toCharArray();
        Arrays.sort(a);
        Arrays.sort(b);
        System.out.println(Arrays.equals(a, b) ? "Anagram" : "Not an anagram");
    }
}

// 47. Check if a string is a palindrome ignoring spaces
import java.util.Scanner;
public class PalindromeIgnoreSpace {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String str = sc.nextLine().replaceAll("\\s","").toLowerCase();
        String rev = new StringBuilder(str).reverse().toString();
        System.out.println(str.equals(rev) ? "Palindrome" : "Not palindrome");
    }
}

// 48. Count vowels and consonants in a string
import java.util.Scanner;
public class VowelsConsonantsCount {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine().toLowerCase();
        int vowels = 0, consonants = 0;
        for(int i = 0; i < str.length(); i++){
            char ch = str.charAt(i);
            if(ch >= 'a' && ch <= 'z') {
                if("aeiou".indexOf(ch) != -1) vowels++;
                else consonants++;
            }
        }
        System.out.println("Vowels = " + vowels + ", Consonants = " + consonants);
    }
}

// 49. Count number of words in a string
import java.util.Scanner;
public class WordCount {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a sentence: ");
        String sentence = sc.nextLine().trim();
        if(sentence.isEmpty()) System.out.println("Words = 0");
        else {
            String[] words = sentence.split("\\s+");
            System.out.println("Words = " + words.length);
        }
    }
}

// 50. Remove duplicates from a string
import java.util.Scanner;
import java.util.LinkedHashSet;
public class RemoveDuplicateChars {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String str = sc.nextLine();
        LinkedHashSet<Character> set = new LinkedHashSet<>();
        for(char c : str.toCharArray()) set.add(c);
        StringBuilder sb = new StringBuilder();
        for(char c : set) sb.append(c);
        System.out.println("String without duplicates: " + sb);
    }
}

// 51. Convert string to uppercase and lowercase
import java.util.Scanner;
public class UpperLowerCase {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String str = sc.nextLine();
        System.out.println("Uppercase: " + str.toUpperCase());
        System.out.println("Lowercase: " + str.toLowerCase());
    }
}

// 52. Check if string contains only digits
import java.util.Scanner;
public class OnlyDigitsCheck {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        boolean isDigit = str.matches("\\d+");
        System.out.println(isDigit ? "String contains only digits" : "String contains other characters");
    }
}

// 53. Check if string contains only alphabets
import java.util.Scanner;
public class OnlyAlphabetsCheck {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        boolean isAlpha = str.matches("[a-zA-Z]+");
        System.out.println(isAlpha ? "String contains only alphabets" : "String contains other characters");
    }
}

// 54. Count frequency of each character in a string
import java.util.Scanner;
import java.util.HashMap;
public class CharFrequency {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        HashMap<Character,Integer> map = new HashMap<>();
        for(char c : str.toCharArray()){
            map.put(c, map.getOrDefault(c,0)+1);
        }
        System.out.println("Character frequency: " + map);
    }
}

// 55. Find first non-repeating character in string
import java.util.Scanner;
public class FirstNonRepeating {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        char result = 0;
        for(int i=0;i<str.length();i++){
            char ch = str.charAt(i);
            if(str.indexOf(ch)==str.lastIndexOf(ch)){
                result=ch;
                break;
            }
        }
        if(result!=0) System.out.println("First non-repeating character: " + result);
        else System.out.println("No non-repeating character");
    }
}

// 56. Reverse each word in a sentence
import java.util.Scanner;
public class ReverseWordsInSentence {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter sentence: ");
        String sentence = sc.nextLine();
        String[] words = sentence.split("\\s+");
        StringBuilder sb = new StringBuilder();
        for(String word : words){
            sb.append(new StringBuilder(word).reverse()).append(" ");
        }
        System.out.println("Reversed words sentence: " + sb.toString().trim());
    }
}

// 57. Check if string is rotation of another string
import java.util.Scanner;
public class StringRotation {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter first string: ");
        String s1 = sc.nextLine();
        System.out.print("Enter second string: ");
        String s2 = sc.nextLine();
        String result = (s1.length()==s2.length() && (s1+s1).contains(s2)) ? "Rotation" : "Not rotation";
        System.out.println(result);
    }
}

// 58. Remove all whitespaces from string
import java.util.Scanner;
public class RemoveSpaces {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        System.out.println("String without spaces: " + str.replaceAll("\\s",""));
    }
}

// 59. Count number of digits, letters, and special characters
import java.util.Scanner;
public class CountCharTypes {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        int letters=0,digits=0,special=0;
        for(char c : str.toCharArray()){
            if(Character.isLetter(c)) letters++;
            else if(Character.isDigit(c)) digits++;
            else special++;
        }
        System.out.println("Letters="+letters+", Digits="+digits+", Special characters="+special);
    }
}

// 60. Check if two strings are anagrams ignoring case and spaces
import java.util.Scanner;
import java.util.Arrays;
public class AnagramIgnoreCaseSpace {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter first string: ");
        String str1 = sc.nextLine().replaceAll("\\s","").toLowerCase();
        System.out.print("Enter second string: ");
        String str2 = sc.nextLine().replaceAll("\\s","").toLowerCase();
        char[] a = str1.toCharArray();
        char[] b = str2.toCharArray();
        Arrays.sort(a); Arrays.sort(b);
        System.out.println(Arrays.equals(a,b) ? "Anagram" : "Not Anagram");
    }
}

// 61. Check if number is palindrome (without converting to string)
import java.util.Scanner;
public class NumberPalindromeCheck {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        int original = n, rev = 0;
        while(n != 0){
            rev = rev*10 + n%10;
            n /= 10;
        }
        System.out.println(original + (original == rev ? " is a palindrome" : " is not a palindrome"));
    }
}

// 62. Find sum of digits of a number (recursive)
import java.util.Scanner;
public class SumDigitsRecursive {
    static int sumDigits(int n){
        if(n == 0) return 0;
        return n%10 + sumDigits(n/10);
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        System.out.println("Sum of digits = " + sumDigits(n));
    }
}

// 63. Check Armstrong number (any digits)
import java.util.Scanner;
public class ArmstrongAnyDigits {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        int original = n, sum = 0;
        int digits = String.valueOf(n).length();
        while(n != 0){
            int d = n%10;
            sum += Math.pow(d,digits);
            n /= 10;
        }
        System.out.println(original + (sum==original ? " is Armstrong" : " is not Armstrong"));
    }
}

// 64. Print all Armstrong numbers between 1 to n
import java.util.Scanner;
public class ArmstrongRange {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter n: ");
        int n = sc.nextInt();
        System.out.println("Armstrong numbers from 1 to " + n + ":");
        for(int i=1;i<=n;i++){
            int num=i,sum=0,temp=i,digits=String.valueOf(i).length();
            while(temp!=0){
                int d=temp%10;
                sum += Math.pow(d,digits);
                temp/=10;
            }
            if(sum==i) System.out.print(i + " ");
        }
    }
}

// 65. Generate Pascal’s Triangle
import java.util.Scanner;
public class PascalsTriangle {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n = sc.nextInt();
        for(int i=0;i<n;i++){
            int val=1;
            for(int j=0;j<=i;j++){
                System.out.print(val + " ");
                val = val*(i-j)/(j+1);
            }
            System.out.println();
        }
    }
}

// 66. Print all prime numbers between 1 to n
import java.util.Scanner;
public class Primes1toN {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter n: ");
        int n = sc.nextInt();
        System.out.println("Prime numbers from 1 to " + n + ":");
        for(int i=2;i<=n;i++){
            boolean prime = true;
            for(int j=2;j*j<=i;j++){
                if(i%j==0){ prime=false; break; }
            }
            if(prime) System.out.print(i + " ");
        }
    }
}

// 67. Find factorial using recursion
import java.util.Scanner;
public class FactorialRecursion {
    static long factorial(int n){
        if(n==0) return 1;
        return n * factorial(n-1);
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        System.out.println("Factorial = " + factorial(n));
    }
}

// 68. Find GCD using recursion
import java.util.Scanner;
public class GCDRecursion {
    static int gcd(int a,int b){
        if(b==0) return a;
        return gcd(b,a%b);
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter two numbers: ");
        int a=sc.nextInt(), b=sc.nextInt();
        System.out.println("GCD = " + gcd(a,b));
    }
}

// 69. Find LCM using GCD
import java.util.Scanner;
public class LCMUsingGCD {
    static int gcd(int a,int b){ return b==0 ? a : gcd(b,a%b); }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter two numbers: ");
        int a=sc.nextInt(), b=sc.nextInt();
        int lcm = (a*b)/gcd(a,b);
        System.out.println("LCM = " + lcm);
    }
}

// 70. Find power of a number using recursion
import java.util.Scanner;
public class PowerRecursion {
    static long power(int base,int exp){
        if(exp==0) return 1;
        return base*power(base,exp-1);
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter base and exponent: ");
        int base = sc.nextInt(), exp = sc.nextInt();
        System.out.println("Result = " + power(base,exp));
    }
}

// 71. Print multiplication table
import java.util.Scanner;
public class MultiplicationTable {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        for(int i=1;i<=10;i++)
            System.out.println(n + " x " + i + " = " + (n*i));
    }
}

// 72. Find sum of first n odd numbers
import java.util.Scanner;
public class SumOddNumbers {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt(), sum=0;
        for(int i=1,count=0;count<n;i+=2,count++) sum+=i;
        System.out.println("Sum of first " + n + " odd numbers = " + sum);
    }
}

// 73. Find sum of first n even numbers
import java.util.Scanner;
public class SumEvenNumbers {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt(), sum=0;
        for(int i=2,count=0;count<n;i+=2,count++) sum+=i;
        System.out.println("Sum of first " + n + " even numbers = " + sum);
    }
}

// 74. Check perfect number
import java.util.Scanner;
public class PerfectNumber {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt(), sum=0;
        for(int i=1;i<n;i++){
            if(n%i==0) sum+=i;
        }
        System.out.println(n + (sum==n ? " is perfect" : " is not perfect"));
    }
}

// 75. Print all perfect numbers between 1 to n
import java.util.Scanner;
public class PerfectNumbersRange {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        System.out.println("Perfect numbers from 1 to " + n + ":");
        for(int i=1;i<=n;i++){
            int sum=0;
            for(int j=1;j<i;j++) if(i%j==0) sum+=j;
            if(sum==i) System.out.print(i + " ");
        }
    }
}

// 76. Find maximum element in an array using recursion
import java.util.Scanner;
public class MaxArrayRecursion {
    static int max(int[] arr, int n){
        if(n == 1) return arr[0];
        return Math.max(arr[n-1], max(arr, n-1));
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.println("Maximum element = " + max(arr,n));
    }
}

// 77. Find minimum element in an array using recursion
import java.util.Scanner;
public class MinArrayRecursion {
    static int min(int[] arr, int n){
        if(n == 1) return arr[0];
        return Math.min(arr[n-1], min(arr, n-1));
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n = sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.println("Minimum element = " + min(arr,n));
    }
}

// 78. Reverse an array using recursion
import java.util.Scanner;
public class ReverseArrayRecursion {
    static void reverse(int[] arr, int start, int end){
        if(start>=end) return;
        int temp=arr[start]; arr[start]=arr[end]; arr[end]=temp;
        reverse(arr, start+1, end-1);
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr = new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        reverse(arr,0,n-1);
        System.out.print("Reversed array: ");
        for(int num:arr) System.out.print(num+" ");
    }
}

// 79. Find sum of elements in an array using recursion
import java.util.Scanner;
public class SumArrayRecursion {
    static int sum(int[] arr, int n){
        if(n==0) return 0;
        return arr[n-1] + sum(arr, n-1);
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.println("Sum of array elements = " + sum(arr,n));
    }
}

// 80. Find second largest element in array using sorting
import java.util.Arrays;
import java.util.Scanner;
public class SecondLargestSort {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        Arrays.sort(arr);
        System.out.println("Second largest element = " + arr[n-2]);
    }
}

// 81. Find second smallest element in array using sorting
import java.util.Arrays;
import java.util.Scanner;
public class SecondSmallestSort {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        Arrays.sort(arr);
        System.out.println("Second smallest element = " + arr[1]);
    }
}

// 82. Find duplicate elements in an array
import java.util.Scanner;
import java.util.HashSet;
public class DuplicateArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        HashSet<Integer> set=new HashSet<>();
        System.out.print("Duplicate elements: ");
        for(int num:arr){
            if(!set.add(num)) System.out.print(num+" ");
        }
    }
}

// 83. Remove duplicate elements from array
import java.util.Scanner;
import java.util.LinkedHashSet;
public class RemoveDuplicateArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        LinkedHashSet<Integer> set=new LinkedHashSet<>();
        for(int num:arr) set.add(num);
        System.out.print("Array without duplicates: ");
        for(int num:set) System.out.print(num+" ");
    }
}

// 84. Merge two sorted arrays
import java.util.Scanner;
import java.util.Arrays;
public class MergeSortedArrays {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements for first array:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();
        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements for second array:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();
        int[] merged=new int[n1+n2];
        System.arraycopy(arr1,0,merged,0,n1);
        System.arraycopy(arr2,0,merged,n1,n2);
        Arrays.sort(merged);
        System.out.println("Merged sorted array: " + Arrays.toString(merged));
    }
}

// 85. Find intersection of two arrays
import java.util.Scanner;
import java.util.HashSet;
public class ArrayIntersection {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements for first array:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();
        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements for second array:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();
        HashSet<Integer> set1=new HashSet<>();
        for(int num:arr1) set1.add(num);
        System.out.print("Intersection: ");
        for(int num:arr2){
            if(set1.contains(num)) System.out.print(num+" ");
        }
    }
}

// 86. Find union of two arrays
import java.util.Scanner;
import java.util.HashSet;
import java.util.Arrays;
public class ArrayUnion {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements for first array:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();
        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements for second array:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();
        HashSet<Integer> set=new HashSet<>();
        for(int num:arr1) set.add(num);
        for(int num:arr2) set.add(num);
        System.out.println("Union array: " + set);
    }
}

// 87. Find missing elements in array (1 to n)
import java.util.Scanner;
import java.util.HashSet;
public class MissingElementsArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size (n-1 elements for 1 to n): ");
        int n=sc.nextInt();
        int[] arr=new int[n-1];
        System.out.println("Enter elements:");
        HashSet<Integer> set=new HashSet<>();
        for(int i=0;i<n-1;i++){
            arr[i]=sc.nextInt();
            set.add(arr[i]);
        }
        System.out.print("Missing element: ");
        for(int i=1;i<=n;i++){
            if(!set.contains(i)) System.out.print(i);
        }
    }
}

// 88. Find all duplicates in an array
import java.util.Scanner;
import java.util.HashMap;
public class AllDuplicatesArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        HashMap<Integer,Integer> map=new HashMap<>();
        for(int num:arr) map.put(num,map.getOrDefault(num,0)+1);
        System.out.print("Duplicates: ");
        for(int key:map.keySet()){
            if(map.get(key)>1) System.out.print(key+" ");
        }
    }
}

// 89. Count number of negative, positive and zeros in array
import java.util.Scanner;
public class PosNegZeroArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int pos=0, neg=0, zero=0;
        for(int num:arr){
            if(num>0) pos++;
            else if(num<0) neg++;
            else zero++;
        }
        System.out.println("Positive=" + pos + ", Negative=" + neg + ", Zero=" + zero);
    }
}

// 90. Sort array in ascending order
import java.util.Scanner;
import java.util.Arrays;
public class SortArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        Arrays.sort(arr);
        System.out.println("Sorted array: " + Arrays.toString(arr));
    }
}

// 91. Reverse a string using recursion
import java.util.Scanner;
public class ReverseStringRecursion {
    static String reverse(String str){
        if(str.isEmpty()) return str;
        return reverse(str.substring(1)) + str.charAt(0);
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("Reversed string: " + reverse(str));
    }
}

// 92. Check if string is palindrome using recursion
import java.util.Scanner;
public class PalindromeRecursion {
    static boolean isPalindrome(String str){
        if(str.length()<=1) return true;
        if(str.charAt(0)!=str.charAt(str.length()-1)) return false;
        return isPalindrome(str.substring(1,str.length()-1));
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println(str + (isPalindrome(str) ? " is palindrome" : " is not palindrome"));
    }
}

// 93. Count vowels in a string using recursion
import java.util.Scanner;
public class VowelCountRecursion {
    static int countVowels(String str){
        if(str.isEmpty()) return 0;
        char ch=str.charAt(0);
        int count=("aeiouAEIOU".indexOf(ch)!=-1)?1:0;
        return count + countVowels(str.substring(1));
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("Number of vowels: " + countVowels(str));
    }
}

// 94. Count words in a string
import java.util.Scanner;
public class WordCountString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter a sentence: ");
        String str=sc.nextLine().trim();
        if(str.isEmpty()) System.out.println("Words = 0");
        else System.out.println("Words = " + str.split("\\s+").length);
    }
}

// 95. Find longest word in a string
import java.util.Scanner;
public class LongestWord {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter sentence: ");
        String str=sc.nextLine();
        String[] words=str.split("\\s+");
        String longest=words[0];
        for(String word:words){
            if(word.length()>longest.length()) longest=word;
        }
        System.out.println("Longest word: " + longest);
    }
}

// 96. Find shortest word in a string
import java.util.Scanner;
public class ShortestWord {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter sentence: ");
        String str=sc.nextLine();
        String[] words=str.split("\\s+");
        String shortest=words[0];
        for(String word:words){
            if(word.length()<shortest.length()) shortest=word;
        }
        System.out.println("Shortest word: " + shortest);
    }
}

// 97. Count frequency of each word in string
import java.util.Scanner;
import java.util.HashMap;
public class WordFrequency {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter sentence: ");
        String str=sc.nextLine().toLowerCase();
        String[] words=str.split("\\s+");
        HashMap<String,Integer> map=new HashMap<>();
        for(String word:words) map.put(word,map.getOrDefault(word,0)+1);
        System.out.println("Word frequency: " + map);
    }
}

// 98. Replace spaces with underscores
import java.util.Scanner;
public class ReplaceSpaces {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter sentence: ");
        String str=sc.nextLine();
        System.out.println("After replacing spaces: " + str.replace(" ","_"));
    }
}

// 99. Remove all digits from string
import java.util.Scanner;
public class RemoveDigits {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("Without digits: " + str.replaceAll("\\d",""));
    }
}

// 100. Remove all special characters from string
import java.util.Scanner;
public class RemoveSpecialChars {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("Without special characters: " + str.replaceAll("[^a-zA-Z0-9 ]",""));
    }
}

// 101. Convert string to title case
import java.util.Scanner;
public class TitleCaseString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter sentence: ");
        String str=sc.nextLine().toLowerCase();
        String[] words=str.split("\\s+");
        StringBuilder sb=new StringBuilder();
        for(String word:words){
            sb.append(Character.toUpperCase(word.charAt(0))).append(word.substring(1)).append(" ");
        }
        System.out.println("Title case: " + sb.toString().trim());
    }
}

// 102. Count number of uppercase and lowercase letters
import java.util.Scanner;
public class CountUpperLower {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        int upper=0, lower=0;
        for(char ch:str.toCharArray()){
            if(Character.isUpperCase(ch)) upper++;
            else if(Character.isLowerCase(ch)) lower++;
        }
        System.out.println("Uppercase letters=" + upper + ", Lowercase letters=" + lower);
    }
}

// 103. Reverse string without using StringBuilder
import java.util.Scanner;
public class ReverseStringManual {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        char[] chars=str.toCharArray();
        for(int i=0,j=chars.length-1;i<j;i++,j--){
            char temp=chars[i]; chars[i]=chars[j]; chars[j]=temp;
        }
        System.out.println("Reversed string: " + new String(chars));
    }
}

// 104. Count number of spaces in a string
import java.util.Scanner;
public class CountSpaces {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        int count=0;
        for(char ch:str.toCharArray()) if(ch==' ') count++;
        System.out.println("Number of spaces: " + count);
    }
}

// 105. Remove leading and trailing spaces from string
import java.util.Scanner;
public class TrimString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("After trim: '" + str.trim() + "'");
    }
}

// 106. Find sum of all elements in an array
import java.util.Scanner;
public class SumArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0;
        for(int num:arr) sum+=num;
        System.out.println("Sum of array elements = " + sum);
    }
}

// 107. Find average of array elements
import java.util.Scanner;
public class AverageArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0;
        for(int num:arr) sum+=num;
        System.out.println("Average = " + ((double)sum/n));
    }
}

// 108. Find maximum and minimum element in array
import java.util.Scanner;
public class MaxMinArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int max=arr[0], min=arr[0];
        for(int num:arr){
            if(num>max) max=num;
            if(num<min) min=num;
        }
        System.out.println("Maximum = " + max + ", Minimum = " + min);
    }
}

// 109. Count positive and negative numbers in array
import java.util.Scanner;
public class PosNegCountArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int pos=0, neg=0;
        for(int num:arr){
            if(num>0) pos++;
            else if(num<0) neg++;
        }
        System.out.println("Positive numbers=" + pos + ", Negative numbers=" + neg);
    }
}

// 110. Count even and odd numbers in array
import java.util.Scanner;
public class EvenOddCountArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int even=0, odd=0;
        for(int num:arr){
            if(num%2==0) even++;
            else odd++;
        }
        System.out.println("Even numbers=" + even + ", Odd numbers=" + odd);
    }
}

// 111. Count number of zeros in array
import java.util.Scanner;
public class CountZerosArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int zero=0;
        for(int num:arr) if(num==0) zero++;
        System.out.println("Number of zeros = " + zero);
    }
}

// 112. Find second largest element in array
import java.util.Scanner;
import java.util.Arrays;
public class SecondLargestArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        Arrays.sort(arr);
        System.out.println("Second largest element = " + arr[n-2]);
    }
}

// 113. Find second smallest element in array
import java.util.Scanner;
import java.util.Arrays;
public class SecondSmallestArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        Arrays.sort(arr);
        System.out.println("Second smallest element = " + arr[1]);
    }
}

// 114. Count frequency of each element in array
import java.util.Scanner;
import java.util.HashMap;
public class FrequencyArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        HashMap<Integer,Integer> map=new HashMap<>();
        for(int num:arr) map.put(num,map.getOrDefault(num,0)+1);
        System.out.println("Element frequency: " + map);
    }
}

// 115. Find missing number in array from 1 to n
import java.util.Scanner;
public class MissingNumberArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size (n-1 elements): ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        int sum=0;
        for(int i=0;i<n;i++){
            arr[i]=sc.nextInt();
            sum+=arr[i];
        }
        int totalSum = (n*(n+1))/2;
        System.out.println("Missing number = " + (totalSum-sum));
    }
}

// 116. Reverse an array
import java.util.Scanner;
public class ReverseArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.print("Reversed array: ");
        for(int i=n-1;i>=0;i--) System.out.print(arr[i] + " ");
    }
}

// 117. Rotate array left by one position
import java.util.Scanner;
public class RotateArrayLeft {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int first = arr[0];
        for(int i=0;i<n-1;i++) arr[i]=arr[i+1];
        arr[n-1]=first;
        System.out.print("Array after left rotation: ");
        for(int num:arr) System.out.print(num + " ");
    }
}

// 118. Rotate array right by one position
import java.util.Scanner;
public class RotateArrayRight {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int last = arr[n-1];
        for(int i=n-1;i>0;i--) arr[i]=arr[i-1];
        arr[0]=last;
        System.out.print("Array after right rotation: ");
        for(int num:arr) System.out.print(num + " ");
    }
}

// 119. Find duplicate elements in array
import java.util.Scanner;
import java.util.HashSet;
public class DuplicateElementsArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        HashSet<Integer> set=new HashSet<>();
        System.out.print("Duplicate elements: ");
        for(int num:arr){
            if(!set.add(num)) System.out.print(num + " ");
        }
    }
}

// 120. Check if array is sorted in ascending order
import java.util.Scanner;
public class ArraySortedCheck {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        boolean sorted=true;
        for(int i=0;i<n-1;i++){
            if(arr[i]>arr[i+1]) { sorted=false; break; }
        }
        System.out.println(sorted ? "Array is sorted" : "Array is not sorted");
    }
}

// 121. Count occurrences of a character in a string
import java.util.Scanner;
public class CharCount {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.print("Enter character to count: ");
        char ch=sc.next().charAt(0);
        int count=0;
        for(char c:str.toCharArray()) if(c==ch) count++;
        System.out.println("Occurrences of '" + ch + "' = " + count);
    }
}

// 122. Check if two strings are anagrams
import java.util.Scanner;
import java.util.Arrays;
public class AnagramCheck {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter first string: ");
        String s1=sc.nextLine().replaceAll("\\s","").toLowerCase();
        System.out.print("Enter second string: ");
        String s2=sc.nextLine().replaceAll("\\s","").toLowerCase();
        if(s1.length()!=s2.length()) System.out.println("Not anagrams");
        else{
            char[] a1=s1.toCharArray();
            char[] a2=s2.toCharArray();
            Arrays.sort(a1);
            Arrays.sort(a2);
            System.out.println(Arrays.equals(a1,a2) ? "Anagrams" : "Not anagrams");
        }
    }
}

// 123. Count vowels and consonants in a string
import java.util.Scanner;
public class VowelConsonantCount {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().toLowerCase();
        int vowels=0, consonants=0;
        for(char ch:str.toCharArray()){
            if(ch>='a' && ch<='z'){
                if("aeiou".indexOf(ch)!=-1) vowels++;
                else consonants++;
            }
        }
        System.out.println("Vowels=" + vowels + ", Consonants=" + consonants);
    }
}

// 124. Check if string contains only digits
import java.util.Scanner;
public class OnlyDigitsCheck {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println(str.matches("\\d+") ? "Contains only digits" : "Contains other characters");
    }
}

// 125. Convert string to integer
import java.util.Scanner;
public class StringToInteger {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number as string: ");
        String str=sc.nextLine();
        int num=Integer.parseInt(str);
        System.out.println("Converted integer: " + num);
    }
}

// 126. Convert integer to string
import java.util.Scanner;
public class IntegerToString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter integer: ");
        int num=sc.nextInt();
        String str=Integer.toString(num);
        System.out.println("Converted string: " + str);
    }
}

// 127. Remove duplicate characters from string
import java.util.Scanner;
import java.util.LinkedHashSet;
public class RemoveDuplicateChars {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        LinkedHashSet<Character> set=new LinkedHashSet<>();
        for(char ch:str.toCharArray()) set.add(ch);
        StringBuilder sb=new StringBuilder();
        for(char ch:set) sb.append(ch);
        System.out.println("Without duplicates: " + sb.toString());
    }
}

// 128. Count number of words starting with vowel
import java.util.Scanner;
public class WordsStartingWithVowel {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter sentence: ");
        String str=sc.nextLine().toLowerCase();
        String[] words=str.split("\\s+");
        int count=0;
        for(String word:words){
            if(word.charAt(0)=='a'||word.charAt(0)=='e'||word.charAt(0)=='i'||word.charAt(0)=='o'||word.charAt(0)=='u')
                count++;
        }
        System.out.println("Words starting with vowel = " + count);
    }
}

// 129. Check if string is numeric
import java.util.Scanner;
public class StringIsNumeric {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        boolean numeric=str.matches("-?\\d+(\\.\\d+)?");
        System.out.println(numeric ? "Numeric" : "Not numeric");
    }
}

// 130. Find all prime numbers in a range
import java.util.Scanner;
public class PrimesInRange {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter start and end: ");
        int start=sc.nextInt(), end=sc.nextInt();
        System.out.print("Primes: ");
        for(int i=start;i<=end;i++){
            if(i<2) continue;
            boolean prime=true;
            for(int j=2;j*j<=i;j++){
                if(i%j==0){ prime=false; break; }
            }
            if(prime) System.out.print(i + " ");
        }
    }
}

// 131. Find factorial using for loop
import java.util.Scanner;
public class FactorialLoop {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        long fact=1;
        for(int i=1;i<=n;i++) fact*=i;
        System.out.println("Factorial = " + fact);
    }
}

// 132. Sum of digits of a number
import java.util.Scanner;
public class SumDigits {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        int sum=0;
        while(n!=0){
            sum+=n%10;
            n/=10;
        }
        System.out.println("Sum of digits = " + sum);
    }
}

// 133. Reverse a number
import java.util.Scanner;
public class ReverseNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        int rev=0;
        while(n!=0){
            rev=rev*10 + n%10;
            n/=10;
        }
        System.out.println("Reversed number = " + rev);
    }
}

// 134. Check if number is palindrome
import java.util.Scanner;
public class NumberPalindrome {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        int original=n, rev=0;
        while(n!=0){
            rev=rev*10 + n%10;
            n/=10;
        }
        System.out.println(original + (original==rev ? " is palindrome" : " is not palindrome"));
    }
}

// 135. Check if number is prime
import java.util.Scanner;
public class PrimeCheck {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        boolean prime=true;
        if(n<2) prime=false;
        for(int i=2;i*i<=n;i++){
            if(n%i==0){ prime=false; break; }
        }
        System.out.println(n + (prime ? " is prime" : " is not prime"));
    }
}


// 136. Print all odd numbers in a range
import java.util.Scanner;
public class OddNumbersRange {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter start and end: ");
        int start=sc.nextInt(), end=sc.nextInt();
        System.out.print("Odd numbers: ");
        for(int i=start;i<=end;i++){
            if(i%2!=0) System.out.print(i + " ");
        }
    }
}

// 137. Print all even numbers in a range
import java.util.Scanner;
public class EvenNumbersRange {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter start and end: ");
        int start=sc.nextInt(), end=sc.nextInt();
        System.out.print("Even numbers: ");
        for(int i=start;i<=end;i++){
            if(i%2==0) System.out.print(i + " ");
        }
    }
}

// 138. Find GCD of two numbers
import java.util.Scanner;
public class GCD {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter two numbers: ");
        int a=sc.nextInt(), b=sc.nextInt();
        while(b!=0){
            int temp=b;
            b=a%b;
            a=temp;
        }
        System.out.println("GCD = " + a);
    }
}

// 139. Find LCM of two numbers
import java.util.Scanner;
public class LCM {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter two numbers: ");
        int a=sc.nextInt(), b=sc.nextInt();
        int lcm=(a>b)?a:b;
        while(true){
            if(lcm%a==0 && lcm%b==0) break;
            lcm++;
        }
        System.out.println("LCM = " + lcm);
    }
}

// 140. Print multiplication table of a number
import java.util.Scanner;
public class MultiplicationTable {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        for(int i=1;i<=10;i++) System.out.println(n + " x " + i + " = " + (n*i));
    }
}

// 141. Sum of first n natural numbers
import java.util.Scanner;
public class SumNaturalNumbers {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=n*(n+1)/2;
        System.out.println("Sum = " + sum);
    }
}

// 142. Find factorial using recursion
import java.util.Scanner;
public class FactorialRecursion {
    static long factorial(int n){
        if(n<=1) return 1;
        return n*factorial(n-1);
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        System.out.println("Factorial = " + factorial(n));
    }
}

// 143. Check if number is Armstrong
import java.util.Scanner;
public class ArmstrongNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt(), sum=0, temp=n;
        while(temp!=0){
            int digit=temp%10;
            sum+=digit*digit*digit;
            temp/=10;
        }
        System.out.println(n + (sum==n ? " is Armstrong" : " is not Armstrong"));
    }
}

// 144. Find sum of digits using recursion
import java.util.Scanner;
public class SumDigitsRecursion {
    static int sumDigits(int n){
        if(n==0) return 0;
        return n%10 + sumDigits(n/10);
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        System.out.println("Sum of digits = " + sumDigits(n));
    }
}

// 145. Find reverse of number using recursion
import java.util.Scanner;
public class ReverseNumberRecursion {
    static int reverse(int n, int rev){
        if(n==0) return rev;
        return reverse(n/10, rev*10 + n%10);
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        System.out.println("Reversed number = " + reverse(n,0));
    }
}

// 146. Find nth Fibonacci number using recursion
import java.util.Scanner;
public class FibonacciNth {
    static int fib(int n){
        if(n==0) return 0;
        if(n==1) return 1;
        return fib(n-1)+fib(n-2);
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        System.out.println(n + "th Fibonacci number = " + fib(n));
    }
}

// 147. Print Fibonacci series up to n terms
import java.util.Scanner;
public class FibonacciSeries {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n terms: ");
        int n=sc.nextInt();
        int a=0, b=1;
        System.out.print("Fibonacci series: ");
        for(int i=0;i<n;i++){
            System.out.print(a + " ");
            int c=a+b;
            a=b;
            b=c;
        }
    }
}

// 148. Check if number is perfect number
import java.util.Scanner;
public class PerfectNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt(), sum=0;
        for(int i=1;i<n;i++){
            if(n%i==0) sum+=i;
        }
        System.out.println(n + (sum==n ? " is perfect" : " is not perfect"));
    }
}

// 149. Find sum of even numbers in array
import java.util.Scanner;
public class SumEvenArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0;
        for(int num:arr) if(num%2==0) sum+=num;
        System.out.println("Sum of even numbers = " + sum);
    }
}

// 150. Find sum of odd numbers in array
import java.util.Scanner;
public class SumOddArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0;
        for(int num:arr) if(num%2!=0) sum+=num;
        System.out.println("Sum of odd numbers = " + sum);
    }
}

// 151. Find second largest element in array without sorting
import java.util.Scanner;
public class SecondLargestNoSort {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int largest=Integer.MIN_VALUE, second=Integer.MIN_VALUE;
        for(int num:arr){
            if(num>largest){
                second=largest;
                largest=num;
            } else if(num>second && num!=largest){
                second=num;
            }
        }
        System.out.println("Second largest element = " + second);
    }
}

// 152. Find second smallest element in array without sorting
import java.util.Scanner;
public class SecondSmallestNoSort {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int smallest=Integer.MAX_VALUE, second=Integer.MAX_VALUE;
        for(int num:arr){
            if(num<smallest){
                second=smallest;
                smallest=num;
            } else if(num<second && num!=smallest){
                second=num;
            }
        }
        System.out.println("Second smallest element = " + second);
    }
}

// 153. Find sum of diagonal elements in matrix
import java.util.Scanner;
public class SumDiagonal {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix size n x n: ");
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        int sum=0;
        for(int i=0;i<n;i++) sum+=mat[i][i];
        System.out.println("Sum of diagonal elements = " + sum);
    }
}

// 154. Transpose of a matrix
import java.util.Scanner;
public class TransposeMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix rows and columns: ");
        int r=sc.nextInt(), c=sc.nextInt();
        int[][] mat=new int[r][c];
        System.out.println("Enter elements:");
        for(int i=0;i<r;i++)
            for(int j=0;j<c;j++) mat[i][j]=sc.nextInt();
        System.out.println("Transpose of matrix:");
        for(int i=0;i<c;i++){
            for(int j=0;j<r;j++) System.out.print(mat[j][i] + " ");
            System.out.println();
        }
    }
}

// 155. Sum of each row in matrix
import java.util.Scanner;
public class SumRowMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix rows and columns: ");
        int r=sc.nextInt(), c=sc.nextInt();
        int[][] mat=new int[r][c];
        System.out.println("Enter elements:");
        for(int i=0;i<r;i++)
            for(int j=0;j<c;j++) mat[i][j]=sc.nextInt();
        for(int i=0;i<r;i++){
            int sum=0;
            for(int j=0;j<c;j++) sum+=mat[i][j];
            System.out.println("Sum of row " + (i+1) + " = " + sum);
        }
    }
}

// 156. Sum of each column in matrix
import java.util.Scanner;
public class SumColumnMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix rows and columns: ");
        int r=sc.nextInt(), c=sc.nextInt();
        int[][] mat=new int[r][c];
        System.out.println("Enter elements:");
        for(int i=0;i<r;i++)
            for(int j=0;j<c;j++) mat[i][j]=sc.nextInt();
        for(int j=0;j<c;j++){
            int sum=0;
            for(int i=0;i<r;i++) sum+=mat[i][j];
            System.out.println("Sum of column " + (j+1) + " = " + sum);
        }
    }
}

// 157. Find largest element in matrix
import java.util.Scanner;
public class LargestMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter rows and columns: ");
        int r=sc.nextInt(), c=sc.nextInt();
        int[][] mat=new int[r][c];
        System.out.println("Enter elements:");
        for(int i=0;i<r;i++)
            for(int j=0;j<c;j++) mat[i][j]=sc.nextInt();
        int max=mat[0][0];
        for(int i=0;i<r;i++)
            for(int j=0;j<c;j++)
                if(mat[i][j]>max) max=mat[i][j];
        System.out.println("Largest element = " + max);
    }
}

// 158. Find smallest element in matrix
import java.util.Scanner;
public class SmallestMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter rows and columns: ");
        int r=sc.nextInt(), c=sc.nextInt();
        int[][] mat=new int[r][c];
        System.out.println("Enter elements:");
        for(int i=0;i<r;i++)
            for(int j=0;j<c;j++) mat[i][j]=sc.nextInt();
        int min=mat[0][0];
        for(int i=0;i<r;i++)
            for(int j=0;j<c;j++)
                if(mat[i][j]<min) min=mat[i][j];
        System.out.println("Smallest element = " + min);
    }
}

// 159. Sum of all elements in matrix
import java.util.Scanner;
public class SumMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter rows and columns: ");
        int r=sc.nextInt(), c=sc.nextInt();
        int[][] mat=new int[r][c];
        System.out.println("Enter elements:");
        for(int i=0;i<r;i++)
            for(int j=0;j<c;j++) mat[i][j]=sc.nextInt();
        int sum=0;
        for(int i=0;i<r;i++)
            for(int j=0;j<c;j++) sum+=mat[i][j];
        System.out.println("Sum of all elements = " + sum);
    }
}

// 160. Count number of positive, negative and zero in array
import java.util.Scanner;
public class PosNegZeroArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int pos=0, neg=0, zero=0;
        for(int num:arr){
            if(num>0) pos++;
            else if(num<0) neg++;
            else zero++;
        }
        System.out.println("Positive=" + pos + ", Negative=" + neg + ", Zero=" + zero);
    }
}

// 161. Separate even and odd numbers in array
import java.util.Scanner;
import java.util.ArrayList;
public class SeparateEvenOdd {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        ArrayList<Integer> even=new ArrayList<>(), odd=new ArrayList<>();
        for(int num:arr){
            if(num%2==0) even.add(num);
            else odd.add(num);
        }
        System.out.println("Even numbers: " + even);
        System.out.println("Odd numbers: " + odd);
    }
}

// 162. Merge two arrays
import java.util.Scanner;
import java.util.Arrays;
public class MergeArrays {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements of first array:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();

        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements of second array:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();

        int[] merged=new int[n1+n2];
        System.arraycopy(arr1,0,merged,0,n1);
        System.arraycopy(arr2,0,merged,n1,n2);
        System.out.println("Merged array: " + Arrays.toString(merged));
    }
}

// 163. Copy one array into another
import java.util.Scanner;
import java.util.Arrays;
public class CopyArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n], copy=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.arraycopy(arr,0,copy,0,n);
        System.out.println("Copied array: " + Arrays.toString(copy));
    }
}

// 164. Count frequency of elements in array
import java.util.Scanner;
import java.util.HashMap;
public class FrequencyArrayElements {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        HashMap<Integer,Integer> map=new HashMap<>();
        for(int num:arr) map.put(num,map.getOrDefault(num,0)+1);
        System.out.println("Frequency of elements: " + map);
    }
}

// 165. Find intersection of two arrays
import java.util.Scanner;
import java.util.HashSet;
public class IntersectionArrays {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements of first array:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();

        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements of second array:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();

        HashSet<Integer> set1=new HashSet<>();
        for(int num:arr1) set1.add(num);
        System.out.print("Intersection: ");
        for(int num:arr2){
            if(set1.contains(num)) System.out.print(num + " ");
        }
    }
}

// 166. Check if string is palindrome
import java.util.Scanner;
public class StringPalindrome {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        String rev=new StringBuilder(str).reverse().toString();
        System.out.println(str + (str.equals(rev) ? " is palindrome" : " is not palindrome"));
    }
}

// 167. Count number of vowels in string
import java.util.Scanner;
public class CountVowels {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().toLowerCase();
        int count=0;
        for(char ch:str.toCharArray()){
            if("aeiou".indexOf(ch)!=-1) count++;
        }
        System.out.println("Number of vowels = " + count);
    }
}

// 168. Count number of consonants in string
import java.util.Scanner;
public class CountConsonants {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().toLowerCase();
        int count=0;
        for(char ch:str.toCharArray()){
            if(ch>='a' && ch<='z' && "aeiou".indexOf(ch)==-1) count++;
        }
        System.out.println("Number of consonants = " + count);
    }
}

// 169. Count words in string
import java.util.Scanner;
public class CountWords {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().trim();
        String[] words=str.split("\\s+");
        System.out.println("Number of words = " + words.length);
    }
}

// 170. Reverse words in string
import java.util.Scanner;
public class ReverseWords {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        String[] words=str.split("\\s+");
        StringBuilder revStr=new StringBuilder();
        for(int i=words.length-1;i>=0;i--){
            revStr.append(words[i]).append(" ");
        }
        System.out.println("Reversed string: " + revStr.toString().trim());
    }
}

// 171. Check if string contains only alphabets
import java.util.Scanner;
public class OnlyAlphabets {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println(str.matches("[a-zA-Z]+") ? "Only alphabets" : "Contains other characters");
    }
}

// 172. Check if string contains only lowercase letters
import java.util.Scanner;
public class OnlyLowercase {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println(str.matches("[a-z]+") ? "Only lowercase" : "Contains other characters");
    }
}

// 173. Check if string contains only uppercase letters
import java.util.Scanner;
public class OnlyUppercase {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println(str.matches("[A-Z]+") ? "Only uppercase" : "Contains other characters");
    }
}

// 174. Convert string to uppercase
import java.util.Scanner;
public class StringToUpper {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("Uppercase: " + str.toUpperCase());
    }
}

// 175. Convert string to lowercase
import java.util.Scanner;
public class StringToLower {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("Lowercase: " + str.toLowerCase());
    }
}

// 176. Remove all spaces from string
import java.util.Scanner;
public class RemoveSpaces {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("Without spaces: " + str.replaceAll("\\s",""));
    }
}

// 177. Count number of digits in string
import java.util.Scanner;
public class CountDigits {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        int count=0;
        for(char ch:str.toCharArray()){
            if(Character.isDigit(ch)) count++;
        }
        System.out.println("Number of digits = " + count);
    }
}

// 178. Check if two strings are anagrams
import java.util.Scanner;
import java.util.Arrays;
public class StringAnagram {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter first string: ");
        String s1=sc.nextLine().replaceAll("\\s","").toLowerCase();
        System.out.print("Enter second string: ");
        String s2=sc.nextLine().replaceAll("\\s","").toLowerCase();
        if(s1.length()!=s2.length()) System.out.println("Not anagrams");
        else{
            char[] a1=s1.toCharArray();
            char[] a2=s2.toCharArray();
            Arrays.sort(a1);
            Arrays.sort(a2);
            System.out.println(Arrays.equals(a1,a2) ? "Anagrams" : "Not anagrams");
        }
    }
}

// 179. Count frequency of each character in string
import java.util.Scanner;
import java.util.HashMap;
public class CharFrequency {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        HashMap<Character,Integer> map=new HashMap<>();
        for(char ch:str.toCharArray()){
            map.put(ch,map.getOrDefault(ch,0)+1);
        }
        System.out.println("Character frequency: " + map);
    }
}

// 180. Remove duplicate characters from string
import java.util.Scanner;
import java.util.LinkedHashSet;
public class RemoveDuplicateCharsString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        LinkedHashSet<Character> set=new LinkedHashSet<>();
        for(char ch:str.toCharArray()) set.add(ch);
        StringBuilder sb=new StringBuilder();
        for(char ch:set) sb.append(ch);
        System.out.println("String without duplicates: " + sb.toString());
    }
}

// 181. Find largest element in an array
import java.util.Scanner;
public class LargestInArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int max=arr[0];
        for(int i=1;i<n;i++){
            if(arr[i]>max) max=arr[i];
        }
        System.out.println("Largest element = " + max);
    }
}

// 182. Find smallest element in an array
import java.util.Scanner;
public class SmallestInArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int min=arr[0];
        for(int i=1;i<n;i++){
            if(arr[i]<min) min=arr[i];
        }
        System.out.println("Smallest element = " + min);
    }
}

// 183. Find sum of all elements in an array
import java.util.Scanner;
public class SumArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0;
        for(int num:arr) sum+=num;
        System.out.println("Sum of elements = " + sum);
    }
}

// 184. Find average of elements in an array
import java.util.Scanner;
public class AverageArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0;
        for(int num:arr) sum+=num;
        double avg=(double)sum/n;
        System.out.println("Average = " + avg);
    }
}

// 185. Reverse an array
import java.util.Scanner;
import java.util.Arrays;
public class ReverseArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        for(int i=0;i<n/2;i++){
            int temp=arr[i];
            arr[i]=arr[n-1-i];
            arr[n-1-i]=temp;
        }
        System.out.println("Reversed array: " + Arrays.toString(arr));
    }
}

// 186. Find second largest element in array
import java.util.Scanner;
public class SecondLargestArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int largest=Integer.MIN_VALUE, second=Integer.MIN_VALUE;
        for(int num:arr){
            if(num>largest){
                second=largest;
                largest=num;
            } else if(num>second && num!=largest){
                second=num;
            }
        }
        System.out.println("Second largest element = " + second);
    }
}

// 187. Find second smallest element in array
import java.util.Scanner;
public class SecondSmallestArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int smallest=Integer.MAX_VALUE, second=Integer.MAX_VALUE;
        for(int num:arr){
            if(num<smallest){
                second=smallest;
                smallest=num;
            } else if(num<second && num!=smallest){
                second=num;
            }
        }
        System.out.println("Second smallest element = " + second);
    }
}

// 188. Check if array is sorted in ascending order
import java.util.Scanner;
public class ArraySortedCheck {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        boolean sorted=true;
        for(int i=0;i<n-1;i++){
            if(arr[i]>arr[i+1]){ sorted=false; break; }
        }
        System.out.println(sorted ? "Array is sorted" : "Array is not sorted");
    }
}

// 189. Find sum of even numbers in array
import java.util.Scanner;
public class SumEvenArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0;
        for(int num:arr){
            if(num%2==0) sum+=num;
        }
        System.out.println("Sum of even numbers = " + sum);
    }
}

// 190. Find sum of odd numbers in array
import java.util.Scanner;
public class SumOddArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0;
        for(int num:arr){
            if(num%2!=0) sum+=num;
        }
        System.out.println("Sum of odd numbers = " + sum);
    }
}

// 191. Count number of positive numbers in array
import java.util.Scanner;
public class CountPositiveArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int count=0;
        for(int num:arr){
            if(num>0) count++;
        }
        System.out.println("Number of positive elements = " + count);
    }
}

// 192. Count number of negative numbers in array
import java.util.Scanner;
public class CountNegativeArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int count=0;
        for(int num:arr){
            if(num<0) count++;
        }
        System.out.println("Number of negative elements = " + count);
    }
}

// 193. Count number of zeros in array
import java.util.Scanner;
public class CountZeroArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int count=0;
        for(int num:arr){
            if(num==0) count++;
        }
        System.out.println("Number of zeros = " + count);
    }
}

// 194. Find average of even numbers in array
import java.util.Scanner;
public class AverageEvenArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0, count=0;
        for(int num:arr){
            if(num%2==0){ sum+=num; count++; }
        }
        double avg=(count==0)?0:(double)sum/count;
        System.out.println("Average of even numbers = " + avg);
    }
}

// 195. Find average of odd numbers in array
import java.util.Scanner;
public class AverageOddArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0, count=0;
        for(int num:arr){
            if(num%2!=0){ sum+=num; count++; }
        }
        double avg=(count==0)?0:(double)sum/count;
        System.out.println("Average of odd numbers = " + avg);
    }
}

// 196. Copy elements of one array to another
import java.util.Scanner;
import java.util.Arrays;
public class CopyArrayElements {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n], copy=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.arraycopy(arr,0,copy,0,n);
        System.out.println("Copied array: " + Arrays.toString(copy));
    }
}

// 197. Merge two arrays
import java.util.Scanner;
import java.util.Arrays;
public class MergeTwoArrays {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements of first array:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();
        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements of second array:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();
        int[] merged=new int[n1+n2];
        System.arraycopy(arr1,0,merged,0,n1);
        System.arraycopy(arr2,0,merged,n1,n2);
        System.out.println("Merged array: " + Arrays.toString(merged));
    }
}

// 198. Find intersection of two arrays
import java.util.Scanner;
import java.util.HashSet;
public class IntersectionTwoArrays {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements of first array:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();
        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements of second array:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();
        HashSet<Integer> set=new HashSet<>();
        for(int num:arr1) set.add(num);
        System.out.print("Intersection: ");
        for(int num:arr2){
            if(set.contains(num)) System.out.print(num + " ");
        }
    }
}

// 199. Find union of two arrays
import java.util.Scanner;
import java.util.HashSet;
import java.util.Arrays;
public class UnionTwoArrays {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements of first array:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();
        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements of second array:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();
        HashSet<Integer> set=new HashSet<>();
        for(int num:arr1) set.add(num);
        for(int num:arr2) set.add(num);
        System.out.println("Union: " + set);
    }
}

// 200. Reverse a string
import java.util.Scanner;
public class ReverseString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        String rev=new StringBuilder(str).reverse().toString();
        System.out.println("Reversed string: " + rev);
    }
}

// 201. Find first non-repeating character in a string
import java.util.Scanner;
import java.util.LinkedHashMap;
public class FirstNonRepeatingChar {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        LinkedHashMap<Character,Integer> map=new LinkedHashMap<>();
        for(char ch:str.toCharArray()) map.put(ch,map.getOrDefault(ch,0)+1);
        for(char ch:str.toCharArray()){
            if(map.get(ch)==1){ System.out.println("First non-repeating character: " + ch); break; }
        }
    }
}

// 202. Count occurrence of a character in string
import java.util.Scanner;
public class CharOccurrence {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.print("Enter character to count: ");
        char c=sc.next().charAt(0);
        int count=0;
        for(char ch:str.toCharArray()) if(ch==c) count++;
        System.out.println("Occurrence of '" + c + "' = " + count);
    }
}

// 203. Convert string to character array
import java.util.Scanner;
import java.util.Arrays;
public class StringToCharArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        char[] arr=str.toCharArray();
        System.out.println("Character array: " + Arrays.toString(arr));
    }
}

// 204. Check if two strings are equal ignoring case
import java.util.Scanner;
public class StringEqualIgnoreCase {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter first string: ");
        String s1=sc.nextLine();
        System.out.print("Enter second string: ");
        String s2=sc.nextLine();
        System.out.println(s1.equalsIgnoreCase(s2) ? "Strings are equal" : "Strings are not equal");
    }
}

// 205. Remove all vowels from string
import java.util.Scanner;
public class RemoveVowels {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        String result=str.replaceAll("[aeiouAEIOU]","");
        System.out.println("String without vowels: " + result);
    }
}

// 206. Count number of uppercase letters in string
import java.util.Scanner;
public class CountUppercase {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        int count=0;
        for(char ch:str.toCharArray()) if(Character.isUpperCase(ch)) count++;
        System.out.println("Number of uppercase letters = " + count);
    }
}

// 207. Count number of lowercase letters in string
import java.util.Scanner;
public class CountLowercase {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        int count=0;
        for(char ch:str.toCharArray()) if(Character.isLowerCase(ch)) count++;
        System.out.println("Number of lowercase letters = " + count);
    }
}

// 208. Check if string is numeric
import java.util.Scanner;
public class IsNumericString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println(str.matches("\\d+") ? "String is numeric" : "String is not numeric");
    }
}

// 209. Convert integer to string
import java.util.Scanner;
public class IntToString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter integer: ");
        int num=sc.nextInt();
        String str=Integer.toString(num);
        System.out.println("Integer as string: " + str);
    }
}

// 210. Convert string to integer
import java.util.Scanner;
public class StringToInt {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter numeric string: ");
        String str=sc.nextLine();
        int num=Integer.parseInt(str);
        System.out.println("String as integer: " + num);
    }
}

// 211. Remove leading and trailing spaces
import java.util.Scanner;
public class TrimString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("Trimmed string: '" + str.trim() + "'");
    }
}

// 212. Replace spaces with underscore
import java.util.Scanner;
public class ReplaceSpaces {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        String result=str.replace(" ","_");
        System.out.println("Modified string: " + result);
    }
}

// 213. Find length of a string
import java.util.Scanner;
public class StringLength {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("Length = " + str.length());
    }
}

// 214. Count number of words starting with a specific character
import java.util.Scanner;
public class CountWordsStartingChar {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.print("Enter starting character: ");
        char c=sc.next().charAt(0);
        String[] words=str.split("\\s+");
        int count=0;
        for(String word:words) if(word.charAt(0)==c) count++;
        System.out.println("Number of words starting with '" + c + "' = " + count);
    }
}

// 215. Remove all special characters from string
import java.util.Scanner;
public class RemoveSpecialChars {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        String result=str.replaceAll("[^a-zA-Z0-9]","");
        System.out.println("String without special characters: " + result);
    }
}

// 216. Count vowels and consonants in string
import java.util.Scanner;
public class CountVowelsConsonants {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().toLowerCase();
        int vowels=0, consonants=0;
        for(char ch:str.toCharArray()){
            if(ch>='a' && ch<='z'){
                if("aeiou".indexOf(ch)!=-1) vowels++;
                else consonants++;
            }
        }
        System.out.println("Vowels = " + vowels + ", Consonants = " + consonants);
    }
}

// 217. Reverse each word in a string
import java.util.Scanner;
public class ReverseEachWord {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        String[] words=str.split("\\s+");
        StringBuilder sb=new StringBuilder();
        for(String word:words) sb.append(new StringBuilder(word).reverse()).append(" ");
        System.out.println("Reversed words: " + sb.toString().trim());
    }
}

// 218. Check if string is palindrome ignoring spaces
import java.util.Scanner;
public class PalindromeIgnoreSpaces {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().replaceAll("\\s","");
        String rev=new StringBuilder(str).reverse().toString();
        System.out.println(str + (str.equalsIgnoreCase(rev) ? " is palindrome" : " is not palindrome"));
    }
}

// 219. Convert string to title case
import java.util.Scanner;
public class TitleCaseString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().toLowerCase();
        String[] words=str.split("\\s+");
        StringBuilder sb=new StringBuilder();
        for(String word:words) sb.append(Character.toUpperCase(word.charAt(0))).append(word.substring(1)).append(" ");
        System.out.println("Title case: " + sb.toString().trim());
    }
}

// 220. Count frequency of words in a string
import java.util.Scanner;
import java.util.HashMap;
public class WordFrequency {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().toLowerCase();
        String[] words=str.split("\\s+");
        HashMap<String,Integer> map=new HashMap<>();
        for(String word:words) map.put(word,map.getOrDefault(word,0)+1);
        System.out.println("Word frequency: " + map);
    }
}

// 221. Find sum of digits of a number
import java.util.Scanner;
public class SumOfDigits {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int sum=0;
        while(num!=0){
            sum+=num%10;
            num/=10;
        }
        System.out.println("Sum of digits = " + sum);
    }
}

// 222. Count number of digits in a number
import java.util.Scanner;
public class CountDigits {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int count=0;
        int n=Math.abs(num);
        while(n!=0){
            count++;
            n/=10;
        }
        System.out.println("Number of digits = " + count);
    }
}

// 223. Reverse a number
import java.util.Scanner;
public class ReverseNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int rev=0;
        while(num!=0){
            rev=rev*10 + num%10;
            num/=10;
        }
        System.out.println("Reversed number = " + rev);
    }
}

// 224. Check if number is palindrome
import java.util.Scanner;
public class NumberPalindrome {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int temp=num, rev=0;
        while(temp!=0){
            rev=rev*10 + temp%10;
            temp/=10;
        }
        System.out.println(num + (num==rev ? " is palindrome" : " is not palindrome"));
    }
}

// 225. Find factorial of a number (iterative)
import java.util.Scanner;
public class FactorialIterative {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        long fact=1;
        for(int i=1;i<=num;i++) fact*=i;
        System.out.println("Factorial = " + fact);
    }
}

// 226. Find factorial of a number (recursive)
import java.util.Scanner;
public class FactorialRecursive {
    static long factorial(int n){
        return (n==0)?1:n*factorial(n-1);
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        System.out.println("Factorial = " + factorial(num));
    }
}

// 227. Check prime number
import java.util.Scanner;
public class CheckPrime {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        boolean isPrime=true;
        if(num<=1) isPrime=false;
        else{
            for(int i=2;i<=Math.sqrt(num);i++){
                if(num%i==0){ isPrime=false; break; }
            }
        }
        System.out.println(num + (isPrime ? " is prime" : " is not prime"));
    }
}

// 228. Generate Fibonacci series (iterative)
import java.util.Scanner;
public class FibonacciIterative {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of terms: ");
        int n=sc.nextInt();
        int a=0,b=1;
        System.out.print(a + " " + b + " ");
        for(int i=3;i<=n;i++){
            int c=a+b;
            System.out.print(c + " ");
            a=b; b=c;
        }
    }
}

// 229. Generate Fibonacci series (recursive)
import java.util.Scanner;
public class FibonacciRecursive {
    static int fib(int n){
        if(n<=1) return n;
        return fib(n-1)+fib(n-2);
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of terms: ");
        int n=sc.nextInt();
        for(int i=0;i<n;i++) System.out.print(fib(i) + " ");
    }
}

// 230. Find GCD of two numbers
import java.util.Scanner;
public class GCD {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter first number: ");
        int a=sc.nextInt();
        System.out.print("Enter second number: ");
        int b=sc.nextInt();
        while(b!=0){
            int temp=b;
            b=a%b;
            a=temp;
        }
        System.out.println("GCD = " + a);
    }
}

// 231. Find LCM of two numbers
import java.util.Scanner;
public class LCM {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter first number: ");
        int a=sc.nextInt();
        System.out.print("Enter second number: ");
        int b=sc.nextInt();
        int lcm=(a*b)/gcd(a,b);
        System.out.println("LCM = " + lcm);
    }
    static int gcd(int x,int y){
        while(y!=0){
            int temp=y;
            y=x%y;
            x=temp;
        }
        return x;
    }
}

// 232. Find sum of first n natural numbers
import java.util.Scanner;
public class SumNaturalNumbers {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=n*(n+1)/2;
        System.out.println("Sum = " + sum);
    }
}

// 233. Check whether a number is even or odd
import java.util.Scanner;
public class EvenOdd {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        System.out.println(num + (num%2==0 ? " is even" : " is odd"));
    }
}

// 234. Swap two numbers using third variable
import java.util.Scanner;
public class SwapNumbers {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter first number: ");
        int a=sc.nextInt();
        System.out.print("Enter second number: ");
        int b=sc.nextInt();
        int temp=a; a=b; b=temp;
        System.out.println("After swapping: a=" + a + ", b=" + b);
    }
}

// 235. Swap two numbers without using third variable
import java.util.Scanner;
public class SwapWithoutTemp {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter first number: ");
        int a=sc.nextInt();
        System.out.print("Enter second number: ");
        int b=sc.nextInt();
        a=a+b;
        b=a-b;
        a=a-b;
        System.out.println("After swapping: a=" + a + ", b=" + b);
    }
}

// 236. Find largest of three numbers
import java.util.Scanner;
public class LargestOfThree {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter three numbers: ");
        int a=sc.nextInt(), b=sc.nextInt(), c=sc.nextInt();
        int max=(a>b)?(a>c?a:c):(b>c?b:c);
        System.out.println("Largest = " + max);
    }
}

// 237. Find smallest of three numbers
import java.util.Scanner;
public class SmallestOfThree {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter three numbers: ");
        int a=sc.nextInt(), b=sc.nextInt(), c=sc.nextInt();
        int min=(a<b)?(a<c?a:c):(b<c?b:c);
        System.out.println("Smallest = " + min);
    }
}

// 238. Check whether number is positive, negative, or zero
import java.util.Scanner;
public class PositiveNegativeZero {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        if(num>0) System.out.println("Positive");
        else if(num<0) System.out.println("Negative");
        else System.out.println("Zero");
    }
}

// 239. Find sum of even numbers from 1 to n
import java.util.Scanner;
public class SumEvenNumbers {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=0;
        for(int i=2;i<=n;i+=2) sum+=i;
        System.out.println("Sum of even numbers = " + sum);
    }
}

// 240. Find sum of odd numbers from 1 to n
import java.util.Scanner;
public class SumOddNumbers {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=0;
        for(int i=1;i<=n;i+=2) sum+=i;
        System.out.println("Sum of odd numbers = " + sum);
    }
}

// 241. Find maximum element in an array
import java.util.Scanner;
public class MaxInArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int max=arr[0];
        for(int i=1;i<n;i++) if(arr[i]>max) max=arr[i];
        System.out.println("Maximum element = " + max);
    }
}

// 242. Find minimum element in an array
import java.util.Scanner;
public class MinInArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int min=arr[0];
        for(int i=1;i<n;i++) if(arr[i]<min) min=arr[i];
        System.out.println("Minimum element = " + min);
    }
}

// 243. Find sum of elements in array
import java.util.Scanner;
public class SumArrayElements {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0;
        for(int num:arr) sum+=num;
        System.out.println("Sum = " + sum);
    }
}

// 244. Find average of elements in array
import java.util.Scanner;
public class AverageArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0;
        for(int num:arr) sum+=num;
        double avg=(double)sum/n;
        System.out.println("Average = " + avg);
    }
}

// 245. Reverse an array
import java.util.Scanner;
import java.util.Arrays;
public class ReverseArrayElements {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        for(int i=0;i<n/2;i++){
            int temp=arr[i];
            arr[i]=arr[n-1-i];
            arr[n-1-i]=temp;
        }
        System.out.println("Reversed array: " + Arrays.toString(arr));
    }
}

// 246. Find second largest element in array
import java.util.Scanner;
public class SecondLargest {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int largest=Integer.MIN_VALUE, second=Integer.MIN_VALUE;
        for(int num:arr){
            if(num>largest){
                second=largest;
                largest=num;
            } else if(num>second && num!=largest){
                second=num;
            }
        }
        System.out.println("Second largest = " + second);
    }
}

// 247. Find second smallest element in array
import java.util.Scanner;
public class SecondSmallest {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int smallest=Integer.MAX_VALUE, second=Integer.MAX_VALUE;
        for(int num:arr){
            if(num<smallest){
                second=smallest;
                smallest=num;
            } else if(num<second && num!=smallest){
                second=num;
            }
        }
        System.out.println("Second smallest = " + second);
    }
}

// 248. Check if array is sorted in ascending order
import java.util.Scanner;
public class CheckArraySorted {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        boolean sorted=true;
        for(int i=0;i<n-1;i++){
            if(arr[i]>arr[i+1]){ sorted=false; break; }
        }
        System.out.println(sorted ? "Array is sorted" : "Array is not sorted");
    }
}

// 249. Count positive numbers in array
import java.util.Scanner;
public class CountPositive {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int count=0;
        for(int num:arr) if(num>0) count++;
        System.out.println("Number of positive elements = " + count);
    }
}

// 250. Count negative numbers in array
import java.util.Scanner;
public class CountNegative {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int count=0;
        for(int num:arr) if(num<0) count++;
        System.out.println("Number of negative elements = " + count);
    }
}

// 251. Count zeros in array
import java.util.Scanner;
public class CountZeros {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int count=0;
        for(int num:arr) if(num==0) count++;
        System.out.println("Number of zeros = " + count);
    }
}

// 252. Sum of even numbers in array
import java.util.Scanner;
public class SumEvenArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0;
        for(int num:arr) if(num%2==0) sum+=num;
        System.out.println("Sum of even numbers = " + sum);
    }
}

// 253. Sum of odd numbers in array
import java.util.Scanner;
public class SumOddArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0;
        for(int num:arr) if(num%2!=0) sum+=num;
        System.out.println("Sum of odd numbers = " + sum);
    }
}

// 254. Merge two arrays
import java.util.Scanner;
import java.util.Arrays;
public class MergeArrays {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();
        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();
        int[] merged=new int[n1+n2];
        System.arraycopy(arr1,0,merged,0,n1);
        System.arraycopy(arr2,0,merged,n1,n2);
        System.out.println("Merged array: " + Arrays.toString(merged));
    }
}

// 255. Intersection of two arrays
import java.util.Scanner;
import java.util.HashSet;
public class IntersectionArrays {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();
        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();
        HashSet<Integer> set1=new HashSet<>();
        for(int num:arr1) set1.add(num);
        System.out.print("Intersection: ");
        for(int num:arr2) if(set1.contains(num)) System.out.print(num + " ");
    }
}

// 256. Find duplicate elements in array
import java.util.Scanner;
import java.util.HashSet;
public class DuplicateElements {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        HashSet<Integer> set=new HashSet<>();
        System.out.print("Duplicate elements: ");
        for(int num:arr){
            if(!set.add(num)) System.out.print(num + " ");
        }
    }
}

// 257. Remove duplicate elements from array
import java.util.Scanner;
import java.util.LinkedHashSet;
import java.util.Arrays;
public class RemoveDuplicates {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        LinkedHashSet<Integer> set=new LinkedHashSet<>();
        for(int num:arr) set.add(num);
        System.out.println("Array without duplicates: " + Arrays.toString(set.toArray()));
    }
}

// 258. Find missing number in array of 1 to n
import java.util.Scanner;
public class MissingNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size (n-1): ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements from 1 to " + (n+1) + " with one missing:");
        int sum=0;
        for(int i=0;i<n;i++){ arr[i]=sc.nextInt(); sum+=arr[i]; }
        int total=(n+1)*(n+2)/2;
        System.out.println("Missing number = " + (total-sum));
    }
}

// 259. Find sum of diagonal elements in 2D array
import java.util.Scanner;
public class SumDiagonal {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix size: ");
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        System.out.println("Enter matrix elements:");
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        int sum=0;
        for(int i=0;i<n;i++) sum+=mat[i][i];
        System.out.println("Sum of diagonal elements = " + sum);
    }
}

// 260. Transpose of a matrix
import java.util.Scanner;
public class TransposeMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter rows: ");
        int r=sc.nextInt();
        System.out.print("Enter columns: ");
        int c=sc.nextInt();
        int[][] mat=new int[r][c];
        System.out.println("Enter matrix elements:");
        for(int i=0;i<r;i++) for(int j=0;j<c;j++) mat[i][j]=sc.nextInt();
        System.out.println("Transpose:");
        for(int j=0;j<c;j++){
            for(int i=0;i<r;i++) System.out.print(mat[i][j] + " ");
            System.out.println();
        }
    }
}

// 261. Check if string is palindrome
import java.util.Scanner;
public class PalindromeString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        String rev=new StringBuilder(str).reverse().toString();
        System.out.println(str + (str.equals(rev) ? " is palindrome" : " is not palindrome"));
    }
}

// 262. Count vowels in a string
import java.util.Scanner;
public class CountVowels {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().toLowerCase();
        int count=0;
        for(char ch:str.toCharArray()) if("aeiou".indexOf(ch)!=-1) count++;
        System.out.println("Number of vowels = " + count);
    }
}

// 263. Count consonants in a string
import java.util.Scanner;
public class CountConsonants {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().toLowerCase();
        int count=0;
        for(char ch:str.toCharArray()) if(ch>='a' && ch<='z' && "aeiou".indexOf(ch)==-1) count++;
        System.out.println("Number of consonants = " + count);
    }
}

// 264. Reverse a string
import java.util.Scanner;
public class ReverseString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        String rev=new StringBuilder(str).reverse().toString();
        System.out.println("Reversed string = " + rev);
    }
}

// 265. Convert string to uppercase
import java.util.Scanner;
public class ToUpperCaseString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("Uppercase string = " + str.toUpperCase());
    }
}

// 266. Convert string to lowercase
import java.util.Scanner;
public class ToLowerCaseString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("Lowercase string = " + str.toLowerCase());
    }
}

// 267. Check if string contains a substring
import java.util.Scanner;
public class ContainsSubstring {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.print("Enter substring: ");
        String sub=sc.nextLine();
        System.out.println(str.contains(sub) ? "Substring found" : "Substring not found");
    }
}

// 268. Count words in a string
import java.util.Scanner;
public class CountWordsString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().trim();
        String[] words=str.split("\\s+");
        System.out.println("Number of words = " + words.length);
    }
}

// 269. Find first character of a string
import java.util.Scanner;
public class FirstCharString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        if(str.length()>0) System.out.println("First character = " + str.charAt(0));
        else System.out.println("Empty string");
    }
}

// 270. Find last character of a string
import java.util.Scanner;
public class LastCharString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        if(str.length()>0) System.out.println("Last character = " + str.charAt(str.length()-1));
        else System.out.println("Empty string");
    }
}

// 271. Replace a character in a string
import java.util.Scanner;
public class ReplaceCharString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.print("Enter character to replace: ");
        char oldChar=sc.next().charAt(0);
        System.out.print("Enter new character: ");
        char newChar=sc.next().charAt(0);
        String result=str.replace(oldChar,newChar);
        System.out.println("Modified string = " + result);
    }
}

// 272. Check if string starts with a prefix
import java.util.Scanner;
public class StartsWithString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.print("Enter prefix: ");
        String prefix=sc.nextLine();
        System.out.println(str.startsWith(prefix) ? "String starts with prefix" : "Does not start with prefix");
    }
}

// 273. Check if string ends with a suffix
import java.util.Scanner;
public class EndsWithString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.print("Enter suffix: ");
        String suffix=sc.nextLine();
        System.out.println(str.endsWith(suffix) ? "String ends with suffix" : "Does not end with suffix");
    }
}

// 274. Count occurrence of a character in a string
import java.util.Scanner;
public class CharOccurrenceString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.print("Enter character: ");
        char c=sc.next().charAt(0);
        int count=0;
        for(char ch:str.toCharArray()) if(ch==c) count++;
        System.out.println("Occurrence of '" + c + "' = " + count);
    }
}

// 275. Remove spaces from a string
import java.util.Scanner;
public class RemoveSpaces {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        String result=str.replace(" ","");
        System.out.println("String without spaces = " + result);
    }
}

// 276. Count digits in a string
import java.util.Scanner;
public class CountDigitsString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        int count=0;
        for(char ch:str.toCharArray()) if(Character.isDigit(ch)) count++;
        System.out.println("Number of digits = " + count);
    }
}

// 277. Count special characters in a string
import java.util.Scanner;
public class CountSpecialChars {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        int count=0;
        for(char ch:str.toCharArray()) if(!Character.isLetterOrDigit(ch) && !Character.isWhitespace(ch)) count++;
        System.out.println("Number of special characters = " + count);
    }
}

// 278. Convert string to character array
import java.util.Scanner;
import java.util.Arrays;
public class StringToCharArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        char[] arr=str.toCharArray();
        System.out.println("Character array = " + Arrays.toString(arr));
    }
}

// 279. Find frequency of words in a string
import java.util.Scanner;
import java.util.HashMap;
public class WordFrequencyString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().toLowerCase();
        String[] words=str.split("\\s+");
        HashMap<String,Integer> map=new HashMap<>();
        for(String w:words) map.put(w,map.getOrDefault(w,0)+1);
        System.out.println("Word frequency = " + map);
    }
}

// 280. Count number of words starting with a specific character
import java.util.Scanner;
public class WordsStartingWithChar {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.print("Enter starting character: ");
        char c=sc.next().charAt(0);
        String[] words=str.split("\\s+");
        int count=0;
        for(String w:words) if(w.charAt(0)==c) count++;
        System.out.println("Number of words starting with '" + c + "' = " + count);
    }
}

// 281. Print a simple star pattern (square)
import java.util.Scanner;
public class StarSquare {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++) System.out.print("* ");
            System.out.println();
        }
    }
}

// 282. Print right-angled triangle pattern
import java.util.Scanner;
public class RightTriangle {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        for(int i=1;i<=n;i++){
            for(int j=1;j<=i;j++) System.out.print("* ");
            System.out.println();
        }
    }
}

// 283. Print inverted right-angled triangle pattern
import java.util.Scanner;
public class InvertedTriangle {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        for(int i=n;i>=1;i--){
            for(int j=1;j<=i;j++) System.out.print("* ");
            System.out.println();
        }
    }
}

// 284. Print pyramid pattern
import java.util.Scanner;
public class PyramidPattern {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        for(int i=1;i<=n;i++){
            for(int j=i;j<n;j++) System.out.print(" ");
            for(int k=1;k<=2*i-1;k++) System.out.print("*");
            System.out.println();
        }
    }
}

// 285. Print number pyramid
import java.util.Scanner;
public class NumberPyramid {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        for(int i=1;i<=n;i++){
            for(int j=1;j<=i;j++) System.out.print(j + " ");
            System.out.println();
        }
    }
}

// 286. Print Floyd's triangle
import java.util.Scanner;
public class FloydTriangle {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        int num=1;
        for(int i=1;i<=n;i++){
            for(int j=1;j<=i;j++){
                System.out.print(num + " ");
                num++;
            }
            System.out.println();
        }
    }
}

// 287. Sum of squares of first n natural numbers
import java.util.Scanner;
public class SumSquares {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=0;
        for(int i=1;i<=n;i++) sum+=i*i;
        System.out.println("Sum of squares = " + sum);
    }
}

// 288. Sum of cubes of first n natural numbers
import java.util.Scanner;
public class SumCubes {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=0;
        for(int i=1;i<=n;i++) sum+=i*i*i;
        System.out.println("Sum of cubes = " + sum);
    }
}

// 289. Find factorial using for loop
import java.util.Scanner;
public class FactorialForLoop {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        long fact=1;
        for(int i=1;i<=n;i++) fact*=i;
        System.out.println("Factorial = " + fact);
    }
}

// 290. Find factorial using while loop
import java.util.Scanner;
public class FactorialWhileLoop {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        long fact=1;
        int i=1;
        while(i<=n){
            fact*=i;
            i++;
        }
        System.out.println("Factorial = " + fact);
    }
}

// 291. Print multiplication table
import java.util.Scanner;
public class MultiplicationTable {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        for(int i=1;i<=10;i++) System.out.println(n + " x " + i + " = " + (n*i));
    }
}

// 292. Print even numbers from 1 to n
import java.util.Scanner;
public class EvenNumbers {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        for(int i=2;i<=n;i+=2) System.out.print(i + " ");
    }
}

// 293. Print odd numbers from 1 to n
import java.util.Scanner;
public class OddNumbers {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        for(int i=1;i<=n;i+=2) System.out.print(i + " ");
    }
}

// 294. Print sum of first n natural numbers using for loop
import java.util.Scanner;
public class SumNaturalFor {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=0;
        for(int i=1;i<=n;i++) sum+=i;
        System.out.println("Sum = " + sum);
    }
}

// 295. Print sum of first n natural numbers using while loop
import java.util.Scanner;
public class SumNaturalWhile {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=0, i=1;
        while(i<=n){
            sum+=i;
            i++;
        }
        System.out.println("Sum = " + sum);
    }
}

// 296. Print multiplication table in reverse order
import java.util.Scanner;
public class MultiplicationTableReverse {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        for(int i=10;i>=1;i--) System.out.println(n + " x " + i + " = " + (n*i));
    }
}

// 297. Print diamond pattern
import java.util.Scanner;
public class DiamondPattern {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        for(int i=1;i<=n;i++){
            for(int j=i;j<n;j++) System.out.print(" ");
            for(int k=1;k<=2*i-1;k++) System.out.print("*");
            System.out.println();
        }
        for(int i=n-1;i>=1;i--){
            for(int j=n;j>i;j--) System.out.print(" ");
            for(int k=1;k<=2*i-1;k++) System.out.print("*");
            System.out.println();
        }
    }
}

// 298. Print hollow square pattern
import java.util.Scanner;
public class HollowSquare {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size: ");
        int n=sc.nextInt();
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                if(i==1 || i==n || j==1 || j==n) System.out.print("* ");
                else System.out.print("  ");
            }
            System.out.println();
        }
    }
}

// 299. Print hollow triangle pattern
import java.util.Scanner;
public class HollowTriangle {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        for(int i=1;i<=n;i++){
            for(int j=1;j<=i;j++){
                if(j==1 || j==i || i==n) System.out.print("* ");
                else System.out.print("  ");
            }
            System.out.println();
        }
    }
}

// 300. Print Pascal's triangle
import java.util.Scanner;
public class PascalsTriangle {
    public static int factorial(int n){
        int fact=1;
        for(int i=1;i<=n;i++) fact*=i;
        return fact;
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        for(int i=0;i<n;i++){
            for(int j=i+1;j<n;j++) System.out.print(" ");
            for(int j=0;j<=i;j++) System.out.print(factorial(i)/(factorial(j)*factorial(i-j)) + " ");
            System.out.println();
        }
    }
}

// 301. Reverse each word in a string
import java.util.Scanner;
public class ReverseEachWord {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        String[] words=str.split("\\s+");
        for(String w:words) System.out.print(new StringBuilder(w).reverse().toString() + " ");
    }
}

// 302. Check if two strings are anagrams
import java.util.Scanner;
import java.util.Arrays;
public class AnagramCheck {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter first string: ");
        String s1=sc.nextLine().replaceAll("\\s","").toLowerCase();
        System.out.print("Enter second string: ");
        String s2=sc.nextLine().replaceAll("\\s","").toLowerCase();
        if(s1.length()!=s2.length()) System.out.println("Not anagrams");
        else {
            char[] a1=s1.toCharArray();
            char[] a2=s2.toCharArray();
            Arrays.sort(a1);
            Arrays.sort(a2);
            System.out.println(Arrays.equals(a1,a2) ? "Anagrams" : "Not anagrams");
        }
    }
}

// 303. Remove duplicate characters from a string
import java.util.Scanner;
import java.util.LinkedHashSet;
public class RemoveDuplicateChars {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        LinkedHashSet<Character> set=new LinkedHashSet<>();
        for(char ch:str.toCharArray()) set.add(ch);
        for(char ch:set) System.out.print(ch);
    }
}

// 304. Count frequency of each character in a string
import java.util.Scanner;
import java.util.HashMap;
public class CharFrequency {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        HashMap<Character,Integer> map=new HashMap<>();
        for(char ch:str.toCharArray()){
            map.put(ch,map.getOrDefault(ch,0)+1);
        }
        System.out.println("Character frequency = " + map);
    }
}

// 305. Convert string to title case
import java.util.Scanner;
public class TitleCase {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().toLowerCase();
        String[] words=str.split("\\s+");
        for(int i=0;i<words.length;i++){
            words[i]=words[i].substring(0,1).toUpperCase() + words[i].substring(1);
        }
        System.out.println(String.join(" ", words));
    }
}

// 306. Find first non-repeating character in string
import java.util.Scanner;
import java.util.LinkedHashMap;
public class FirstNonRepeatingChar {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        LinkedHashMap<Character,Integer> map=new LinkedHashMap<>();
        for(char ch:str.toCharArray()) map.put(ch,map.getOrDefault(ch,0)+1);
        for(char ch:map.keySet()){
            if(map.get(ch)==1){ System.out.println("First non-repeating character = " + ch); break; }
        }
    }
}

// 307. Check if string is palindrome ignoring spaces
import java.util.Scanner;
public class PalindromeIgnoreSpace {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().replaceAll("\\s","").toLowerCase();
        String rev=new StringBuilder(str).reverse().toString();
        System.out.println(str.equals(rev) ? "Palindrome" : "Not palindrome");
    }
}

// 308. Count number of uppercase letters in string
import java.util.Scanner;
public class CountUppercase {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        int count=0;
        for(char ch:str.toCharArray()) if(Character.isUpperCase(ch)) count++;
        System.out.println("Number of uppercase letters = " + count);
    }
}

// 309. Count number of lowercase letters in string
import java.util.Scanner;
public class CountLowercase {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        int count=0;
        for(char ch:str.toCharArray()) if(Character.isLowerCase(ch)) count++;
        System.out.println("Number of lowercase letters = " + count);
    }
}

// 310. Reverse an array
import java.util.Scanner;
import java.util.Arrays;
public class ReverseArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        for(int i=0;i<n/2;i++){
            int temp=arr[i];
            arr[i]=arr[n-1-i];
            arr[n-1-i]=temp;
        }
        System.out.println("Reversed array = " + Arrays.toString(arr));
    }
}

// 311. Find second largest element in array
import java.util.Scanner;
public class SecondLargestArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int largest=Integer.MIN_VALUE, second=Integer.MIN_VALUE;
        for(int num:arr){
            if(num>largest){ second=largest; largest=num; }
            else if(num>second && num!=largest) second=num;
        }
        System.out.println("Second largest = " + second);
    }
}

// 312. Find second smallest element in array
import java.util.Scanner;
public class SecondSmallestArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int smallest=Integer.MAX_VALUE, second=Integer.MAX_VALUE;
        for(int num:arr){
            if(num<smallest){ second=smallest; smallest=num; }
            else if(num<second && num!=smallest) second=num;
        }
        System.out.println("Second smallest = " + second);
    }
}

// 313. Count even numbers in array
import java.util.Scanner;
public class CountEvenArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int count=0;
        for(int num:arr) if(num%2==0) count++;
        System.out.println("Number of even elements = " + count);
    }
}

// 314. Count odd numbers in array
import java.util.Scanner;
public class CountOddArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int count=0;
        for(int num:arr) if(num%2!=0) count++;
        System.out.println("Number of odd elements = " + count);
    }
}

// 315. Find sum of array elements
import java.util.Scanner;
public class SumArrayElements {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int sum=0;
        for(int num:arr) sum+=num;
        System.out.println("Sum = " + sum);
    }
}

// 316. Find average of array elements
import java.util.Scanner;
public class AverageArrayElements {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        double sum=0;
        for(int num:arr) sum+=num;
        System.out.println("Average = " + (sum/n));
    }
}

// 317. Find max element in array
import java.util.Scanner;
public class MaxArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int max=arr[0];
        for(int num:arr) if(num>max) max=num;
        System.out.println("Maximum = " + max);
    }
}

// 318. Find min element in array
import java.util.Scanner;
public class MinArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int min=arr[0];
        for(int num:arr) if(num<min) min=num;
        System.out.println("Minimum = " + min);
    }
}

// 319. Find missing number in 1 to n array
import java.util.Scanner;
public class MissingNumberArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size (n-1): ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        int sum=0;
        System.out.println("Enter elements from 1 to " + (n+1));
        for(int i=0;i<n;i++){ arr[i]=sc.nextInt(); sum+=arr[i]; }
        int total=(n+1)*(n+2)/2;
        System.out.println("Missing number = " + (total-sum));
    }
}

// 320. Find duplicate elements in array
import java.util.Scanner;
import java.util.HashSet;
public class DuplicateArrayElements {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        HashSet<Integer> set=new HashSet<>();
        System.out.print("Duplicate elements: ");
        for(int num:arr){
            if(!set.add(num)) System.out.print(num + " ");
        }
    }
}

// 321. Check if number is palindrome
import java.util.Scanner;
public class PalindromeNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int original=num, rev=0;
        while(num!=0){
            rev=rev*10 + num%10;
            num/=10;
        }
        System.out.println(original == rev ? "Palindrome" : "Not Palindrome");
    }
}

// 322. Check prime number
import java.util.Scanner;
public class PrimeNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        boolean isPrime=true;
        if(n<=1) isPrime=false;
        for(int i=2;i<=Math.sqrt(n);i++){
            if(n%i==0){ isPrime=false; break; }
        }
        System.out.println(isPrime ? "Prime" : "Not Prime");
    }
}

// 323. Find GCD of two numbers
import java.util.Scanner;
public class GCD {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter two numbers: ");
        int a=sc.nextInt();
        int b=sc.nextInt();
        while(b!=0){
            int temp=b;
            b=a%b;
            a=temp;
        }
        System.out.println("GCD = " + a);
    }
}

// 324. Find LCM of two numbers
import java.util.Scanner;
public class LCM {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter two numbers: ");
        int a=sc.nextInt();
        int b=sc.nextInt();
        int lcm=(a*b)/gcd(a,b);
        System.out.println("LCM = " + lcm);
    }
    public static int gcd(int a,int b){
        while(b!=0){
            int temp=b;
            b=a%b;
            a=temp;
        }
        return a;
    }
}

// 325. Check Armstrong number
import java.util.Scanner;
public class ArmstrongNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int sum=0, temp=num;
        while(temp!=0){
            int digit=temp%10;
            sum+=digit*digit*digit;
            temp/=10;
        }
        System.out.println(sum==num ? "Armstrong" : "Not Armstrong");
    }
}

// 326. Generate Fibonacci series
import java.util.Scanner;
public class FibonacciSeries {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n terms: ");
        int n=sc.nextInt();
        int a=0,b=1;
        System.out.print(a + " " + b + " ");
        for(int i=3;i<=n;i++){
            int c=a+b;
            System.out.print(c + " ");
            a=b;
            b=c;
        }
    }
}

// 327. Sum of digits of a number
import java.util.Scanner;
public class SumDigits {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int sum=0;
        while(num!=0){
            sum+=num%10;
            num/=10;
        }
        System.out.println("Sum of digits = " + sum);
    }
}

// 328. Count number of digits in a number
import java.util.Scanner;
public class CountDigits {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int count=0;
        while(num!=0){
            num/=10;
            count++;
        }
        System.out.println("Number of digits = " + count);
    }
}

// 329. Reverse a number
import java.util.Scanner;
public class ReverseNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int rev=0;
        while(num!=0){
            rev=rev*10 + num%10;
            num/=10;
        }
        System.out.println("Reversed number = " + rev);
    }
}

// 330. Check if number is perfect number
import java.util.Scanner;
public class PerfectNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int sum=0;
        for(int i=1;i<num;i++){
            if(num%i==0) sum+=i;
        }
        System.out.println(sum==num ? "Perfect number" : "Not perfect number");
    }
}

// 331. Check if number is strong number
import java.util.Scanner;
public class StrongNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int sum=0, temp=num;
        while(temp!=0){
            int digit=temp%10;
            int fact=1;
            for(int i=1;i<=digit;i++) fact*=i;
            sum+=fact;
            temp/=10;
        }
        System.out.println(sum==num ? "Strong number" : "Not strong number");
    }
}

// 332. Check if number is neon number
import java.util.Scanner;
public class NeonNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int sq=num*num, sum=0;
        while(sq!=0){
            sum+=sq%10;
            sq/=10;
        }
        System.out.println(sum==num ? "Neon number" : "Not neon number");
    }
}

// 333. Print prime numbers in a range
import java.util.Scanner;
public class PrimeRange {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter start and end: ");
        int start=sc.nextInt();
        int end=sc.nextInt();
        for(int n=start;n<=end;n++){
            boolean isPrime=true;
            if(n<=1) isPrime=false;
            for(int i=2;i<=Math.sqrt(n);i++) if(n%i==0){ isPrime=false; break; }
            if(isPrime) System.out.print(n + " ");
        }
    }
}

// 334. Print Fibonacci numbers in range
import java.util.Scanner;
public class FibonacciRange {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter start and end: ");
        int start=sc.nextInt();
        int end=sc.nextInt();
        int a=0,b=1;
        while(a<=end){
            if(a>=start) System.out.print(a + " ");
            int c=a+b;
            a=b;
            b=c;
        }
    }
}

// 335. Find sum of first n even numbers
import java.util.Scanner;
public class SumEvenNumbers {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=0;
        for(int i=1;i<=n;i++) sum+=2*i;
        System.out.println("Sum of first " + n + " even numbers = " + sum);
    }
}

// 336. Find sum of first n odd numbers
import java.util.Scanner;
public class SumOddNumbers {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=0;
        for(int i=0;i<n;i++) sum+=2*i+1;
        System.out.println("Sum of first " + n + " odd numbers = " + sum);
    }
}

// 337. Find factorial using recursion
import java.util.Scanner;
public class FactorialRecursion {
    public static int factorial(int n){
        if(n<=1) return 1;
        return n*factorial(n-1);
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        System.out.println("Factorial = " + factorial(n));
    }
}

// 338. Check if number is palindrome using recursion
import java.util.Scanner;
public class PalindromeRecursion {
    public static boolean isPalindrome(int n,int rev){
        if(n==0) return rev==0;
        return isPalindrome(n/10,rev*10 + n%10);
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        System.out.println(isPalindrome(num,0) ? "Palindrome" : "Not palindrome");
    }
}

// 339. Generate Fibonacci using recursion
import java.util.Scanner;
public class FibonacciRecursion {
    public static int fibonacci(int n){
        if(n==0) return 0;
        if(n==1) return 1;
        return fibonacci(n-1)+fibonacci(n-2);
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n terms: ");
        int n=sc.nextInt();
        for(int i=0;i<n;i++) System.out.print(fibonacci(i) + " ");
    }
}

// 340. Sum of digits using recursion
import java.util.Scanner;
public class SumDigitsRecursion {
    public static int sumDigits(int n){
        if(n==0) return 0;
        return n%10 + sumDigits(n/10);
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        System.out.println("Sum of digits = " + sumDigits(n));
    }
}

// 341. Find maximum in an array using recursion
import java.util.Scanner;
public class MaxArrayRecursion {
    public static int max(int[] arr,int n){
        if(n==1) return arr[0];
        return Math.max(arr[n-1], max(arr,n-1));
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.println("Maximum element = " + max(arr,n));
    }
}

// 342. Find minimum in an array using recursion
import java.util.Scanner;
public class MinArrayRecursion {
    public static int min(int[] arr,int n){
        if(n==1) return arr[0];
        return Math.min(arr[n-1], min(arr,n-1));
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.println("Minimum element = " + min(arr,n));
    }
}

// 343. Reverse array using recursion
import java.util.Scanner;
public class ReverseArrayRecursion {
    public static void reverse(int[] arr,int start,int end){
        if(start>=end) return;
        int temp=arr[start];
        arr[start]=arr[end];
        arr[end]=temp;
        reverse(arr,start+1,end-1);
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        reverse(arr,0,n-1);
        System.out.print("Reversed array = ");
        for(int num:arr) System.out.print(num + " ");
    }
}

// 344. Find sum of array elements using recursion
import java.util.Scanner;
public class SumArrayRecursion {
    public static int sum(int[] arr,int n){
        if(n<=0) return 0;
        return arr[n-1] + sum(arr,n-1);
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.println("Sum of array elements = " + sum(arr,n));
    }
}

// 345. Check if array is sorted
import java.util.Scanner;
public class CheckArraySorted {
    public static boolean isSorted(int[] arr){
        for(int i=0;i<arr.length-1;i++) if(arr[i]>arr[i+1]) return false;
        return true;
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.println(isSorted(arr) ? "Array is sorted" : "Array is not sorted");
    }
}

// 346. Merge two arrays
import java.util.Scanner;
import java.util.Arrays;
public class MergeArrays {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();
        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();
        int[] merged=new int[n1+n2];
        System.arraycopy(arr1,0,merged,0,n1);
        System.arraycopy(arr2,0,merged,n1,n2);
        System.out.println("Merged array = " + Arrays.toString(merged));
    }
}

// 347. Find intersection of two arrays
import java.util.Scanner;
import java.util.HashSet;
public class ArrayIntersection {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();
        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();
        HashSet<Integer> set=new HashSet<>();
        for(int num:arr1) set.add(num);
        System.out.print("Intersection elements: ");
        for(int num:arr2) if(set.contains(num)) System.out.print(num + " ");
    }
}

// 348. Remove duplicates from array
import java.util.Scanner;
import java.util.LinkedHashSet;
import java.util.Arrays;
public class RemoveDuplicatesArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        LinkedHashSet<Integer> set=new LinkedHashSet<>();
        for(int num:arr) set.add(num);
        System.out.println("Array without duplicates = " + set);
    }
}

// 349. Find second largest in array using recursion
import java.util.Scanner;
public class SecondLargestRecursion {
    public static int findSecondLargest(int[] arr,int n){
        int largest=Integer.MIN_VALUE, second=Integer.MIN_VALUE;
        for(int num:arr){
            if(num>largest){ second=largest; largest=num; }
            else if(num>second && num!=largest) second=num;
        }
        return second;
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.println("Second largest element = " + findSecondLargest(arr,n));
    }
}

// 350. Find second smallest in array using recursion
import java.util.Scanner;
public class SecondSmallestRecursion {
    public static int findSecondSmallest(int[] arr,int n){
        int smallest=Integer.MAX_VALUE, second=Integer.MAX_VALUE;
        for(int num:arr){
            if(num<smallest){ second=smallest; smallest=num; }
            else if(num<second && num!=smallest) second=num;
        }
        return second;
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.println("Second smallest element = " + findSecondSmallest(arr,n));
    }
}

// 351. Rotate array left by n positions
import java.util.Scanner;
import java.util.Arrays;
public class RotateArrayLeft {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.print("Enter positions to rotate: ");
        int d=sc.nextInt();
        int[] temp=new int[d];
        System.arraycopy(arr,0,temp,0,d);
        System.arraycopy(arr,d,arr,0,n-d);
        System.arraycopy(temp,0,arr,n-d,d);
        System.out.println("Array after rotation = " + Arrays.toString(arr));
    }
}

// 352. Rotate array right by n positions
import java.util.Scanner;
import java.util.Arrays;
public class RotateArrayRight {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.print("Enter positions to rotate: ");
        int d=sc.nextInt();
        int[] temp=new int[d];
        System.arraycopy(arr,n-d,temp,0,d);
        System.arraycopy(arr,0,arr,d,n-d);
        System.arraycopy(temp,0,arr,0,d);
        System.out.println("Array after rotation = " + Arrays.toString(arr));
    }
}

// 353. Merge two sorted arrays
import java.util.Scanner;
import java.util.Arrays;
public class MergeSortedArrays {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();
        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();
        int[] merged=new int[n1+n2];
        int i=0,j=0,k=0;
        while(i<n1 && j<n2){
            if(arr1[i]<arr2[j]) merged[k++]=arr1[i++];
            else merged[k++]=arr2[j++];
        }
        while(i<n1) merged[k++]=arr1[i++];
        while(j<n2) merged[k++]=arr2[j++];
        System.out.println("Merged sorted array = " + Arrays.toString(merged));
    }
}

// 354. Count negative numbers in array
import java.util.Scanner;
public class CountNegativeArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int count=0;
        for(int num:arr) if(num<0) count++;
        System.out.println("Number of negative elements = " + count);
    }
}

// 355. Count positive numbers in array
import java.util.Scanner;
public class CountPositiveArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int count=0;
        for(int num:arr) if(num>0) count++;
        System.out.println("Number of positive elements = " + count);
    }
}

// 356. Find sum of diagonal elements in a matrix
import java.util.Scanner;
public class SumDiagonalMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix size (n x n): ");
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        System.out.println("Enter matrix elements:");
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        int sum=0;
        for(int i=0;i<n;i++) sum+=mat[i][i];
        System.out.println("Sum of diagonal elements = " + sum);
    }
}

// 357. Find sum of upper triangular matrix
import java.util.Scanner;
public class SumUpperTriangular {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix size (n x n): ");
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        System.out.println("Enter matrix elements:");
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        int sum=0;
        for(int i=0;i<n;i++) for(int j=i;j<n;j++) sum+=mat[i][j];
        System.out.println("Sum of upper triangular elements = " + sum);
    }
}

// 358. Find sum of lower triangular matrix
import java.util.Scanner;
public class SumLowerTriangular {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix size (n x n): ");
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        System.out.println("Enter matrix elements:");
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        int sum=0;
        for(int i=0;i<n;i++) for(int j=0;j<=i;j++) sum+=mat[i][j];
        System.out.println("Sum of lower triangular elements = " + sum);
    }
}

// 359. Transpose of a matrix
import java.util.Scanner;
public class TransposeMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix size (n x n): ");
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        System.out.println("Enter matrix elements:");
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        int[][] trans=new int[n][n];
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) trans[j][i]=mat[i][j];
        System.out.println("Transposed matrix:");
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++) System.out.print(trans[i][j] + " ");
            System.out.println();
        }
    }
}

// 360. Check if matrix is symmetric
import java.util.Scanner;
public class SymmetricMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix size (n x n): ");
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        System.out.println("Enter matrix elements:");
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        boolean symmetric=true;
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(mat[i][j]!=mat[j][i]) {symmetric=false; break;}
            }
        }
        System.out.println(symmetric ? "Matrix is symmetric" : "Matrix is not symmetric");
    }
}

// 361. Count vowels in a string
import java.util.Scanner;
public class CountVowels {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().toLowerCase();
        int count=0;
        for(char ch:str.toCharArray()){
            if(ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u') count++;
        }
        System.out.println("Number of vowels = " + count);
    }
}

// 362. Count consonants in a string
import java.util.Scanner;
public class CountConsonants {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().toLowerCase();
        int count=0;
        for(char ch:str.toCharArray()){
            if(ch>='a' && ch<='z' && !(ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u')) count++;
        }
        System.out.println("Number of consonants = " + count);
    }
}

// 363. Check if string is palindrome
import java.util.Scanner;
public class StringPalindrome {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        String rev=new StringBuilder(str).reverse().toString();
        System.out.println(str.equals(rev) ? "Palindrome" : "Not Palindrome");
    }
}

// 364. Count words in a string
import java.util.Scanner;
public class CountWords {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().trim();
        if(str.isEmpty()) System.out.println("Number of words = 0");
        else System.out.println("Number of words = " + str.split("\\s+").length);
    }
}

// 365. Reverse a string
import java.util.Scanner;
public class ReverseString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        String rev=new StringBuilder(str).reverse().toString();
        System.out.println("Reversed string = " + rev);
    }
}

// 366. Remove spaces from string
import java.util.Scanner;
public class RemoveSpaces {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("String without spaces = " + str.replaceAll("\\s",""));
    }
}

// 367. Convert string to uppercase
import java.util.Scanner;
public class ToUpperCase {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("Uppercase = " + str.toUpperCase());
    }
}

// 368. Convert string to lowercase
import java.util.Scanner;
public class ToLowerCase {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println("Lowercase = " + str.toLowerCase());
    }
}

// 369. Count digits in a string
import java.util.Scanner;
public class CountDigitsString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        int count=0;
        for(char ch:str.toCharArray()) if(Character.isDigit(ch)) count++;
        System.out.println("Number of digits = " + count);
    }
}

// 370. Check if two strings are anagrams
import java.util.Scanner;
import java.util.Arrays;
public class StringAnagram {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter first string: ");
        String s1=sc.nextLine().replaceAll("\\s","").toLowerCase();
        System.out.print("Enter second string: ");
        String s2=sc.nextLine().replaceAll("\\s","").toLowerCase();
        if(s1.length()!=s2.length()) System.out.println("Not anagrams");
        else {
            char[] a1=s1.toCharArray();
            char[] a2=s2.toCharArray();
            Arrays.sort(a1);
            Arrays.sort(a2);
            System.out.println(Arrays.equals(a1,a2) ? "Anagrams" : "Not anagrams");
        }
    }
}

// 371. Find first non-repeating character in string
import java.util.Scanner;
import java.util.LinkedHashMap;
public class FirstNonRepeating {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        LinkedHashMap<Character,Integer> map=new LinkedHashMap<>();
        for(char ch:str.toCharArray()) map.put(ch,map.getOrDefault(ch,0)+1);
        for(char ch:map.keySet()){
            if(map.get(ch)==1){ System.out.println("First non-repeating character = " + ch); break; }
        }
    }
}

// 372. Check if string contains only digits
import java.util.Scanner;
public class OnlyDigits {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println(str.matches("\\d+") ? "String contains only digits" : "String contains non-digit characters");
    }
}

// 373. Remove duplicate characters from string
import java.util.Scanner;
import java.util.LinkedHashSet;
public class RemoveDuplicateCharsString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        LinkedHashSet<Character> set=new LinkedHashSet<>();
        for(char ch:str.toCharArray()) set.add(ch);
        for(char ch:set) System.out.print(ch);
    }
}

// 374. Count frequency of each character in string
import java.util.Scanner;
import java.util.HashMap;
public class CharFrequencyString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        HashMap<Character,Integer> map=new HashMap<>();
        for(char ch:str.toCharArray()) map.put(ch,map.getOrDefault(ch,0)+1);
        System.out.println("Character frequency = " + map);
    }
}

// 375. Convert string to title case
import java.util.Scanner;
public class TitleCaseString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().toLowerCase();
        String[] words=str.split("\\s+");
        for(int i=0;i<words.length;i++) words[i]=words[i].substring(0,1).toUpperCase()+words[i].substring(1);
        System.out.println("Title case = " + String.join(" ",words));
    }
}

// 376. Count number of words starting with vowel
import java.util.Scanner;
public class WordsStartingVowel {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine().toLowerCase();
        int count=0;
        for(String w:str.split("\\s+")) if("aeiou".indexOf(w.charAt(0))!=-1) count++;
        System.out.println("Words starting with vowel = " + count);
    }
}

// 377. Check if string contains only letters
import java.util.Scanner;
public class OnlyLetters {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str=sc.nextLine();
        System.out.println(str.matches("[a-zA-Z]+") ? "String contains only letters" : "String contains non-letter characters");
    }
}

// 378. Swap two numbers using arithmetic
import java.util.Scanner;
public class SwapNumbers {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter two numbers: ");
        int a=sc.nextInt();
        int b=sc.nextInt();
        a=a+b;
        b=a-b;
        a=a-b;
        System.out.println("After swap: a=" + a + ", b=" + b);
    }
}

// 379. Swap two numbers using bitwise XOR
import java.util.Scanner;
public class SwapNumbersXOR {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter two numbers: ");
        int a=sc.nextInt();
        int b=sc.nextInt();
        a=a^b;
        b=a^b;
        a=a^b;
        System.out.println("After swap: a=" + a + ", b=" + b);
    }
}

// 380. Check if number is Armstrong (n-digit)
import java.util.Scanner;
public class ArmstrongNDigits {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int sum=0,temp=num;
        int n=String.valueOf(num).length();
        while(temp!=0){
            int digit=temp%10;
            sum+=Math.pow(digit,n);
            temp/=10;
        }
        System.out.println(sum==num ? "Armstrong number" : "Not Armstrong");
    }
}

// 381. Print multiplication table of a number
import java.util.Scanner;
public class MultiplicationTable {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        for(int i=1;i<=10;i++) System.out.println(n + " x " + i + " = " + (n*i));
    }
}

// 382. Print all even numbers in range
import java.util.Scanner;
public class EvenNumbersRange {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter start and end: ");
        int start=sc.nextInt();
        int end=sc.nextInt();
        for(int i=start;i<=end;i++) if(i%2==0) System.out.print(i + " ");
    }
}

// 383. Print all odd numbers in range
import java.util.Scanner;
public class OddNumbersRange {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter start and end: ");
        int start=sc.nextInt();
        int end=sc.nextInt();
        for(int i=start;i<=end;i++) if(i%2!=0) System.out.print(i + " ");
    }
}

// 384. Print all prime numbers in range
import java.util.Scanner;
public class PrimeNumbersRange {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter start and end: ");
        int start=sc.nextInt();
        int end=sc.nextInt();
        for(int n=start;n<=end;n++){
            boolean isPrime=true;
            if(n<=1) isPrime=false;
            for(int i=2;i<=Math.sqrt(n);i++) if(n%i==0){ isPrime=false; break; }
            if(isPrime) System.out.print(n + " ");
        }
    }
}

// 385. Print all Armstrong numbers in range
import java.util.Scanner;
public class ArmstrongNumbersRange {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter start and end: ");
        int start=sc.nextInt();
        int end=sc.nextInt();
        for(int num=start;num<=end;num++){
            int sum=0,temp=num;
            int n=String.valueOf(num).length();
            while(temp!=0){
                int digit=temp%10;
                sum+=Math.pow(digit,n);
                temp/=10;
            }
            if(sum==num) System.out.print(num + " ");
        }
    }
}

// 386. Print pattern: right triangle
import java.util.Scanner;
public class RightTrianglePattern {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        for(int i=1;i<=n;i++){
            for(int j=1;j<=i;j++) System.out.print("* ");
            System.out.println();
        }
    }
}

// 387. Print pattern: inverted right triangle
import java.util.Scanner;
public class InvertedRightTrianglePattern {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        for(int i=n;i>=1;i--){
            for(int j=1;j<=i;j++) System.out.print("* ");
            System.out.println();
        }
    }
}

// 388. Print pattern: pyramid
import java.util.Scanner;
public class PyramidPattern {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        for(int i=1;i<=n;i++){
            for(int j=i;j<n;j++) System.out.print(" ");
            for(int k=1;k<=2*i-1;k++) System.out.print("*");
            System.out.println();
        }
    }
}

// 389. Print pattern: number pyramid
import java.util.Scanner;
public class NumberPyramid {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        for(int i=1;i<=n;i++){
            for(int j=i;j<n;j++) System.out.print(" ");
            for(int k=1;k<=i;k++) System.out.print(k + " ");
            System.out.println();
        }
    }
}

// 390. Print pattern: inverted number pyramid
import java.util.Scanner;
public class InvertedNumberPyramid {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        for(int i=n;i>=1;i--){
            for(int j=n;j>i;j--) System.out.print(" ");
            for(int k=1;k<=i;k++) System.out.print(k + " ");
            System.out.println();
        }
    }
}

// 391. Sum of natural numbers using loop
import java.util.Scanner;
public class SumNaturalNumbers {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=0;
        for(int i=1;i<=n;i++) sum+=i;
        System.out.println("Sum = " + sum);
    }
}

// 392. Sum of squares of first n natural numbers
import java.util.Scanner;
public class SumSquares {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=0;
        for(int i=1;i<=n;i++) sum+=i*i;
        System.out.println("Sum of squares = " + sum);
    }
}

// 393. Sum of cubes of first n natural numbers
import java.util.Scanner;
public class SumCubes {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=0;
        for(int i=1;i<=n;i++) sum+=i*i*i;
        System.out.println("Sum of cubes = " + sum);
    }
}

// 394. Factorial using loop
import java.util.Scanner;
public class FactorialLoop {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        int fact=1;
        for(int i=1;i<=n;i++) fact*=i;
        System.out.println("Factorial = " + fact);
    }
}

// 395. Check prime using loop
import java.util.Scanner;
public class CheckPrimeLoop {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        boolean isPrime=true;
        if(n<=1) isPrime=false;
        for(int i=2;i<=Math.sqrt(n);i++) if(n%i==0){ isPrime=false; break; }
        System.out.println(isPrime ? "Prime" : "Not Prime");
    }
}

// 396. Find GCD using loop
import java.util.Scanner;
public class GCDLoop {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter two numbers: ");
        int a=sc.nextInt();
        int b=sc.nextInt();
        while(b!=0){
            int temp=b;
            b=a%b;
            a=temp;
        }
        System.out.println("GCD = " + a);
    }
}

// 397. Find LCM using loop
import java.util.Scanner;
public class LCMLoop {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter two numbers: ");
        int a=sc.nextInt();
        int b=sc.nextInt();
        int lcm=(a*b)/gcd(a,b);
        System.out.println("LCM = " + lcm);
    }
    public static int gcd(int a,int b){
        while(b!=0){
            int temp=b;
            b=a%b;
            a=temp;
        }
        return a;
    }
}

// 398. Sum of digits using loop
import java.util.Scanner;
public class SumDigitsLoop {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int sum=0;
        while(num!=0){
            sum+=num%10;
            num/=10;
        }
        System.out.println("Sum of digits = " + sum);
    }
}

// 399. Reverse a number using loop
import java.util.Scanner;
public class ReverseNumberLoop {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int rev=0;
        while(num!=0){
            rev=rev*10 + num%10;
            num/=10;
        }
        System.out.println("Reversed number = " + rev);
    }
}

// 400. Check perfect number using loop
import java.util.Scanner;
public class PerfectNumberLoop {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int num=sc.nextInt();
        int sum=0;
        for(int i=1;i<num;i++) if(num%i==0) sum+=i;
        System.out.println(sum==num ? "Perfect number" : "Not perfect number");
    }
}

// 401. Find largest element in an array
import java.util.Scanner;
public class LargestInArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int max=arr[0];
        for(int i=1;i<n;i++) if(arr[i]>max) max=arr[i];
        System.out.println("Largest element = " + max);
    }
}

// 402. Find smallest element in an array
import java.util.Scanner;
public class SmallestInArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int min=arr[0];
        for(int i=1;i<n;i++) if(arr[i]<min) min=arr[i];
        System.out.println("Smallest element = " + min);
    }
}

// 403. Find sum of array elements
import java.util.Scanner;
public class SumArrayElements {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        int sum=0;
        for(int i=0;i<n;i++){
            arr[i]=sc.nextInt();
            sum+=arr[i];
        }
        System.out.println("Sum of array elements = " + sum);
    }
}

// 404. Find average of array elements
import java.util.Scanner;
public class AverageArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        int sum=0;
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++){
            arr[i]=sc.nextInt();
            sum+=arr[i];
        }
        System.out.println("Average = " + (double)sum/n);
    }
}

// 405. Count even and odd numbers in array
import java.util.Scanner;
public class CountEvenOddArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        int even=0, odd=0;
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++){
            arr[i]=sc.nextInt();
            if(arr[i]%2==0) even++; else odd++;
        }
        System.out.println("Even numbers = " + even + ", Odd numbers = " + odd);
    }
}

// 406. Count positive and negative numbers in array
import java.util.Scanner;
public class CountPosNegArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        int pos=0, neg=0;
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++){
            arr[i]=sc.nextInt();
            if(arr[i]>0) pos++; else if(arr[i]<0) neg++;
        }
        System.out.println("Positive = " + pos + ", Negative = " + neg);
    }
}

// 407. Count zeros in an array
import java.util.Scanner;
public class CountZerosArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        int zeros=0;
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++){
            arr[i]=sc.nextInt();
            if(arr[i]==0) zeros++;
        }
        System.out.println("Number of zeros = " + zeros);
    }
}

// 408. Find second largest element in array
import java.util.Scanner;
public class SecondLargestArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int largest=Integer.MIN_VALUE, second=Integer.MIN_VALUE;
        for(int num:arr){
            if(num>largest){ second=largest; largest=num; }
            else if(num>second && num!=largest) second=num;
        }
        System.out.println("Second largest element = " + second);
    }
}

// 409. Find second smallest element in array
import java.util.Scanner;
public class SecondSmallestArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int smallest=Integer.MAX_VALUE, second=Integer.MAX_VALUE;
        for(int num:arr){
            if(num<smallest){ second=smallest; smallest=num; }
            else if(num<second && num!=smallest) second=num;
        }
        System.out.println("Second smallest element = " + second);
    }
}

// 410. Find sum of even numbers in array
import java.util.Scanner;
public class SumEvenArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        int sum=0;
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++){
            arr[i]=sc.nextInt();
            if(arr[i]%2==0) sum+=arr[i];
        }
        System.out.println("Sum of even numbers = " + sum);
    }
}

// 411. Find sum of odd numbers in array
import java.util.Scanner;
public class SumOddArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        int sum=0;
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++){
            arr[i]=sc.nextInt();
            if(arr[i]%2!=0) sum+=arr[i];
        }
        System.out.println("Sum of odd numbers = " + sum);
    }
}

// 412. Reverse an array
import java.util.Scanner;
public class ReverseArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        for(int i=0;i<n/2;i++){
            int temp=arr[i];
            arr[i]=arr[n-1-i];
            arr[n-1-i]=temp;
        }
        System.out.print("Reversed array = ");
        for(int num:arr) System.out.print(num + " ");
    }
}

// 413. Copy an array
import java.util.Scanner;
import java.util.Arrays;
public class CopyArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int[] copy=Arrays.copyOf(arr,n);
        System.out.print("Copied array = ");
        for(int num:copy) System.out.print(num + " ");
    }
}

// 414. Find maximum difference between two elements in array
import java.util.Scanner;
public class MaxDifferenceArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter array size: ");
        int n=sc.nextInt();
        int[] arr=new int[n];
        System.out.println("Enter elements:");
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int min=arr[0], maxDiff=Integer.MIN_VALUE;
        for(int i=1;i<n;i++){
            if(arr[i]-min>maxDiff) maxDiff=arr[i]-min;
            if(arr[i]<min) min=arr[i];
        }
        System.out.println("Maximum difference = " + maxDiff);
    }
}

// 415. Find sum of diagonal elements of square matrix
import java.util.Scanner;
public class SumDiagonalMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix size (n x n): ");
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        System.out.println("Enter matrix elements:");
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        int sum=0;
        for(int i=0;i<n;i++) sum+=mat[i][i];
        System.out.println("Sum of diagonal elements = " + sum);
    }
}

// 416. Print upper triangular matrix
import java.util.Scanner;
public class UpperTriangularMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix size: ");
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        System.out.println("Enter matrix elements:");
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        System.out.println("Upper triangular matrix:");
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(j>=i) System.out.print(mat[i][j] + " ");
                else System.out.print("0 ");
            }
            System.out.println();
        }
    }
}

// 417. Print lower triangular matrix
import java.util.Scanner;
public class LowerTriangularMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix size: ");
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        System.out.println("Enter matrix elements:");
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        System.out.println("Lower triangular matrix:");
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(j<=i) System.out.print(mat[i][j] + " ");
                else System.out.print("0 ");
            }
            System.out.println();
        }
    }
}

// 418. Transpose a square matrix
import java.util.Scanner;
public class TransposeMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix size: ");
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        System.out.println("Enter matrix elements:");
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        System.out.println("Transpose of matrix:");
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++) System.out.print(mat[j][i] + " ");
            System.out.println();
        }
    }
}

// 419. Check if matrix is symmetric
import java.util.Scanner;
public class SymmetricMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix size: ");
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        System.out.println("Enter matrix elements:");
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        boolean symmetric=true;
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++) if(mat[i][j]!=mat[j][i]) {symmetric=false; break;}
        }
        System.out.println(symmetric ? "Matrix is symmetric" : "Matrix is not symmetric");
    }
}

// 420. Find sum of all elements in a matrix
import java.util.Scanner;
public class SumAllMatrixElements {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter matrix size: ");
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        System.out.println("Enter matrix elements:");
        int sum=0;
        for(int i=0;i<n;i++) for(int j=0;j<n;j++){ mat[i][j]=sc.nextInt(); sum+=mat[i][j]; }
        System.out.println("Sum of all elements = " + sum);
    }
}

// 421. Check if string is palindrome (ignoring spaces and case)
import java.util.Scanner;
public class StringPalindromeIgnoreCase {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine().replaceAll("\\s","").toLowerCase();
        String rev = new StringBuilder(str).reverse().toString();
        System.out.println(str.equals(rev) ? "Palindrome" : "Not Palindrome");
    }
}

// 422. Count vowels in a string
import java.util.Scanner;
public class CountVowelsString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine().toLowerCase();
        int count = 0;
        for(char ch:str.toCharArray()) if("aeiou".indexOf(ch)!=-1) count++;
        System.out.println("Number of vowels = " + count);
    }
}

// 423. Count consonants in a string
import java.util.Scanner;
public class CountConsonantsString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine().toLowerCase();
        int count = 0;
        for(char ch:str.toCharArray()) if(ch>='a' && ch<='z' && "aeiou".indexOf(ch)==-1) count++;
        System.out.println("Number of consonants = " + count);
    }
}

// 424. Count words in a string
import java.util.Scanner;
public class CountWordsString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine().trim();
        if(str.isEmpty()) System.out.println("Number of words = 0");
        else System.out.println("Number of words = " + str.split("\\s+").length);
    }
}

// 425. Reverse a string
import java.util.Scanner;
public class ReverseStringSimple {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        String rev = new StringBuilder(str).reverse().toString();
        System.out.println("Reversed string = " + rev);
    }
}

// 426. Remove spaces from string
import java.util.Scanner;
public class RemoveSpacesString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        System.out.println("String without spaces = " + str.replaceAll("\\s",""));
    }
}

// 427. Convert string to uppercase
import java.util.Scanner;
public class ToUpperCaseString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        System.out.println("Uppercase = " + str.toUpperCase());
    }
}

// 428. Convert string to lowercase
import java.util.Scanner;
public class ToLowerCaseString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        System.out.println("Lowercase = " + str.toLowerCase());
    }
}

// 429. Count digits in a string
import java.util.Scanner;
public class CountDigitsString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        int count = 0;
        for(char ch:str.toCharArray()) if(Character.isDigit(ch)) count++;
        System.out.println("Number of digits = " + count);
    }
}

// 430. Count special characters in a string
import java.util.Scanner;
public class CountSpecialCharsString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        int count = 0;
        for(char ch:str.toCharArray()) if(!Character.isLetterOrDigit(ch) && !Character.isWhitespace(ch)) count++;
        System.out.println("Number of special characters = " + count);
    }
}

// 431. Remove duplicate characters from string
import java.util.Scanner;
import java.util.LinkedHashSet;
public class RemoveDuplicateChars {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        LinkedHashSet<Character> set = new LinkedHashSet<>();
        for(char ch:str.toCharArray()) set.add(ch);
        for(char ch:set) System.out.print(ch);
    }
}

// 432. Count frequency of each character in string
import java.util.Scanner;
import java.util.HashMap;
public class CharFrequencyString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        HashMap<Character,Integer> map = new HashMap<>();
        for(char ch:str.toCharArray()) map.put(ch,map.getOrDefault(ch,0)+1);
        System.out.println("Character frequency = " + map);
    }
}

// 433. Check if two strings are anagrams
import java.util.Scanner;
import java.util.Arrays;
public class AnagramCheck {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter first string: ");
        String s1 = sc.nextLine().replaceAll("\\s","").toLowerCase();
        System.out.print("Enter second string: ");
        String s2 = sc.nextLine().replaceAll("\\s","").toLowerCase();
        if(s1.length()!=s2.length()) System.out.println("Not anagrams");
        else{
            char[] a1=s1.toCharArray();
            char[] a2=s2.toCharArray();
            Arrays.sort(a1);
            Arrays.sort(a2);
            System.out.println(Arrays.equals(a1,a2) ? "Anagrams" : "Not anagrams");
        }
    }
}

// 434. Find first non-repeating character in string
import java.util.Scanner;
import java.util.LinkedHashMap;
public class FirstNonRepeatingChar {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        LinkedHashMap<Character,Integer> map = new LinkedHashMap<>();
        for(char ch:str.toCharArray()) map.put(ch,map.getOrDefault(ch,0)+1);
        for(char ch:map.keySet()){
            if(map.get(ch)==1){ System.out.println("First non-repeating character = " + ch); break; }
        }
    }
}

// 435. Find last non-repeating character in string
import java.util.Scanner;
import java.util.LinkedHashMap;
public class LastNonRepeatingChar {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        LinkedHashMap<Character,Integer> map = new LinkedHashMap<>();
        for(char ch:str.toCharArray()) map.put(ch,map.getOrDefault(ch,0)+1);
        char last=' ';
        for(char ch:map.keySet()){
            if(map.get(ch)==1) last=ch;
        }
        if(last==' ') System.out.println("No non-repeating character");
        else System.out.println("Last non-repeating character = " + last);
    }
}

// 436. Check if string contains only digits
import java.util.Scanner;
public class OnlyDigitsCheck {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        System.out.println(str.matches("\\d+") ? "String contains only digits" : "String contains non-digit characters");
    }
}

// 437. Check if string contains only letters
import java.util.Scanner;
public class OnlyLettersCheck {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine();
        System.out.println(str.matches("[a-zA-Z]+") ? "String contains only letters" : "String contains non-letter characters");
    }
}

// 438. Count number of words starting with vowel
import java.util.Scanner;
public class WordsStartingWithVowel {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine().toLowerCase();
        int count=0;
        for(String word:str.split("\\s+")) if("aeiou".indexOf(word.charAt(0))!=-1) count++;
        System.out.println("Words starting with vowel = " + count);
    }
}

// 439. Convert string to title case
import java.util.Scanner;
public class TitleCaseString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine().toLowerCase();
        String[] words=str.split("\\s+");
        for(int i=0;i<words.length;i++) words[i]=words[i].substring(0,1).toUpperCase()+words[i].substring(1);
        System.out.println("Title case = " + String.join(" ",words));
    }
}

// 440. Count frequency of each word in string
import java.util.Scanner;
import java.util.HashMap;
public class WordFrequencyString {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter string: ");
        String str = sc.nextLine().toLowerCase();
        String[] words=str.split("\\s+");
        HashMap<String,Integer> map=new HashMap<>();
        for(String word:words) map.put(word,map.getOrDefault(word,0)+1);
        System.out.println("Word frequency = " + map);
    }
}

// 441. Check if a number is perfect square
import java.util.Scanner;
public class PerfectSquare {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        int sqrt = (int)Math.sqrt(n);
        System.out.println(sqrt*sqrt == n ? "Perfect square" : "Not a perfect square");
    }
}

// 442. Find factorial using recursion
import java.util.Scanner;
public class FactorialRecursion {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        System.out.println("Factorial = " + factorial(n));
    }
    public static int factorial(int n){
        return (n<=1) ? 1 : n * factorial(n-1);
    }
}

// 443. Generate Fibonacci series using recursion
import java.util.Scanner;
public class FibonacciRecursion {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter n terms: ");
        int n = sc.nextInt();
        for(int i=0;i<n;i++) System.out.print(fib(i) + " ");
    }
    public static int fib(int n){
        if(n<=1) return n;
        return fib(n-1)+fib(n-2);
    }
}

// 444. Sum of digits using recursion
import java.util.Scanner;
public class SumDigitsRecursion {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        System.out.println("Sum of digits = " + sumDigits(n));
    }
    public static int sumDigits(int n){
        if(n==0) return 0;
        return n%10 + sumDigits(n/10);
    }
}

// 445. Reverse a number using recursion
import java.util.Scanner;
public class ReverseNumberRecursion {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        System.out.println("Reversed number = " + reverseNumber(n,0));
    }
    public static int reverseNumber(int n,int rev){
        if(n==0) return rev;
        return reverseNumber(n/10, rev*10+n%10);
    }
}

// 446. Check palindrome number using recursion
import java.util.Scanner;
public class PalindromeNumberRecursion {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter number: ");
        int n = sc.nextInt();
        System.out.println(isPalindrome(n,n) ? "Palindrome" : "Not Palindrome");
    }
    public static boolean isPalindrome(int original,int n){
        if(n==0) return original==0 ? true : original==0;
        int rev=0,temp=n;
        while(temp!=0){ rev=rev*10 + temp%10; temp/=10; }
        return rev==original;
    }
}

// 447. Print right-angled triangle of numbers
import java.util.Scanner;
public class NumberTriangle {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter rows: ");
        int n=sc.nextInt();
        for(int i=1;i<=n;i++){
            for(int j=1;j<=i;j++) System.out.print(j + " ");
            System.out.println();
        }
    }
}

// 448. Print inverted number triangle
import java.util.Scanner;
public class InvertedNumberTriangle {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter rows: ");
        int n=sc.nextInt();
        for(int i=n;i>=1;i--){
            for(int j=1;j<=i;j++) System.out.print(j + " ");
            System.out.println();
        }
    }
}

// 449. Print Floyd’s triangle
import java.util.Scanner;
public class FloydsTriangle {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter rows: ");
        int n=sc.nextInt();
        int num=1;
        for(int i=1;i<=n;i++){
            for(int j=1;j<=i;j++) System.out.print(num++ + " ");
            System.out.println();
        }
    }
}

// 450. Print Pascal’s triangle
import java.util.Scanner;
public class PascalsTriangle {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter rows: ");
        int n=sc.nextInt();
        for(int i=0;i<n;i++){
            for(int j=i+1;j<n;j++) System.out.print(" ");
            int c=1;
            for(int j=0;j<=i;j++){
                System.out.print(c + " ");
                c=c*(i-j)/(j+1);
            }
            System.out.println();
        }
    }
}

// 451. Find sum of first n odd numbers
import java.util.Scanner;
public class SumOddNumbers {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=0;
        for(int i=1,count=0;count<n;i+=2,count++) sum+=i;
        System.out.println("Sum of first " + n + " odd numbers = " + sum);
    }
}

// 452. Find sum of first n even numbers
import java.util.Scanner;
public class SumEvenNumbers {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=0;
        for(int i=2,count=0;count<n;i+=2,count++) sum+=i;
        System.out.println("Sum of first " + n + " even numbers = " + sum);
    }
}

// 453. Check if number is strong number
import java.util.Scanner;
public class StrongNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        int temp=n,sum=0;
        while(temp!=0){
            int digit=temp%10,fact=1;
            for(int i=1;i<=digit;i++) fact*=i;
            sum+=fact;
            temp/=10;
        }
        System.out.println(sum==n ? "Strong number" : "Not a strong number");
    }
}

// 454. Find sum of digits raised to power of number of digits (Armstrong)
import java.util.Scanner;
public class ArmstrongNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        int temp=n,sum=0,digits=String.valueOf(n).length();
        while(temp!=0){
            int digit=temp%10;
            sum+=Math.pow(digit,digits);
            temp/=10;
        }
        System.out.println(sum==n ? "Armstrong number" : "Not an Armstrong number");
    }
}

// 455. Count digits in a number
import java.util.Scanner;
public class CountDigitsNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        int count=0,temp=n;
        while(temp!=0){ count++; temp/=10; }
        System.out.println("Number of digits = " + count);
    }
}

// 456. Check if number is palindrome
import java.util.Scanner;
public class NumberPalindrome {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number: ");
        int n=sc.nextInt();
        int rev=0,temp=n;
        while(temp!=0){ rev=rev*10 + temp%10; temp/=10; }
        System.out.println(rev==n ? "Palindrome" : "Not Palindrome");
    }
}

// 457. Find sum of first n natural numbers using formula
import java.util.Scanner;
public class SumNaturalNumbersFormula {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=n*(n+1)/2;
        System.out.println("Sum of first " + n + " natural numbers = " + sum);
    }
}

// 458. Find sum of first n squares using formula
import java.util.Scanner;
public class SumSquaresFormula {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=n*(n+1)*(2*n+1)/6;
        System.out.println("Sum of squares of first " + n + " numbers = " + sum);
    }
}

// 459. Find sum of first n cubes using formula
import java.util.Scanner;
public class SumCubesFormula {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter n: ");
        int n=sc.nextInt();
        int sum=(n*(n+1)/2)*(n*(n+1)/2);
        System.out.println("Sum of cubes of first " + n + " numbers = " + sum);
    }
}

// 460. Print diamond pattern
import java.util.Scanner;
public class DiamondPattern {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter number of rows: ");
        int n=sc.nextInt();
        for(int i=1;i<=n;i++){
            for(int j=i;j<n;j++) System.out.print(" ");
            for(int k=1;k<=2*i-1;k++) System.out.print("*");
            System.out.println();
        }
        for(int i=n-1;i>=1;i--){
            for(int j=n;j>i;j--) System.out.print(" ");
            for(int k=1;k<=2*i-1;k++) System.out.print("*");
            System.out.println();
        }
    }
}


// 461. Merge two arrays
import java.util.Scanner;
import java.util.Arrays;
public class MergeArrays {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements of first array:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();

        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements of second array:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();

        int[] merged=new int[n1+n2];
        System.arraycopy(arr1,0,merged,0,n1);
        System.arraycopy(arr2,0,merged,n1,n2);

        System.out.println("Merged array: " + Arrays.toString(merged));
    }
}

// 462. Find common elements in two arrays
import java.util.Scanner;
import java.util.HashSet;
public class CommonElementsArrays {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        System.out.println("Enter elements of first array:");
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();

        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        System.out.println("Enter elements of second array:");
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();

        HashSet<Integer> set1=new HashSet<>();
        for(int num:arr1) set1.add(num);
        System.out.print("Common elements: ");
        for(int num:arr2) if(set1.contains(num)) System.out.print(num + " ");
    }
}

// 463. Find union of two arrays
import java.util.Scanner;
import java.util.HashSet;
public class UnionArrays {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.print("Enter size of first array: ");
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();

        System.out.print("Enter size of second array: ");
        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();

        HashSet<Integer> union=new HashSet<>();
        for(int num:arr1) union.add(num);
        for(int num:arr2) union.add(num);

        System.out.println("Union of arrays: " + union);
    }
}

// 464. Find intersection of two arrays
import java.util.Scanner;
import java.util.HashSet;
public class IntersectionArrays {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n1=sc.nextInt();
        int[] arr1=new int[n1];
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();

        int n2=sc.nextInt();
        int[] arr2=new int[n2];
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();

        HashSet<Integer> set1=new HashSet<>();
        for(int num:arr1) set1.add(num);

        System.out.print("Intersection: ");
        for(int num:arr2) if(set1.contains(num)) System.out.print(num + " ");
    }
}

// 465. Remove duplicate elements from array
import java.util.Scanner;
import java.util.LinkedHashSet;
public class RemoveDuplicatesArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();

        LinkedHashSet<Integer> set=new LinkedHashSet<>();
        for(int num:arr) set.add(num);

        System.out.println("Array without duplicates: " + set);
    }
}

// 466. Sort an array in ascending order
import java.util.Scanner;
import java.util.Arrays;
public class SortArrayAsc {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        Arrays.sort(arr);
        System.out.println("Sorted array ascending: " + Arrays.toString(arr));
    }
}

// 467. Sort an array in descending order
import java.util.Scanner;
import java.util.Arrays;
import java.util.Collections;
public class SortArrayDesc {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        Integer[] arr=new Integer[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        Arrays.sort(arr, Collections.reverseOrder());
        System.out.println("Sorted array descending: " + Arrays.toString(arr));
    }
}

// 468. Find maximum and minimum in array
import java.util.Scanner;
import java.util.Arrays;
public class MaxMinArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int max=arr[0], min=arr[0];
        for(int num:arr){ if(num>max) max=num; if(num<min) min=num; }
        System.out.println("Max = " + max + ", Min = " + min);
    }
}

// 469. Find sum of array elements
import java.util.Scanner;
public class SumArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        int sum=0;
        for(int i=0;i<n;i++){ arr[i]=sc.nextInt(); sum+=arr[i]; }
        System.out.println("Sum = " + sum);
    }
}

// 470. Reverse an array
import java.util.Scanner;
import java.util.Arrays;
public class ReverseArraySimple {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        for(int i=0;i<n/2;i++){ int t=arr[i]; arr[i]=arr[n-1-i]; arr[n-1-i]=t; }
        System.out.println("Reversed array: " + Arrays.toString(arr));
    }
}

// 471. Find second largest element
import java.util.Scanner;
public class SecondLargest {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int largest=Integer.MIN_VALUE, second=Integer.MIN_VALUE;
        for(int num:arr){
            if(num>largest){ second=largest; largest=num; }
            else if(num>second && num!=largest) second=num;
        }
        System.out.println("Second largest = " + second);
    }
}

// 472. Find second smallest element
import java.util.Scanner;
public class SecondSmallest {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int smallest=Integer.MAX_VALUE, second=Integer.MAX_VALUE;
        for(int num:arr){
            if(num<smallest){ second=smallest; smallest=num; }
            else if(num<second && num!=smallest) second=num;
        }
        System.out.println("Second smallest = " + second);
    }
}

// 473. Count even and odd numbers in array
import java.util.Scanner;
public class CountEvenOdd {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        int even=0,odd=0;
        for(int i=0;i<n;i++){ arr[i]=sc.nextInt(); if(arr[i]%2==0) even++; else odd++; }
        System.out.println("Even = " + even + ", Odd = " + odd);
    }
}

// 474. Find prime numbers in array
import java.util.Scanner;
public class PrimeInArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.print("Prime numbers: ");
        for(int num:arr){
            if(num<=1) continue;
            boolean prime=true;
            for(int i=2;i<=Math.sqrt(num);i++) if(num%i==0){ prime=false; break; }
            if(prime) System.out.print(num + " ");
        }
    }
}

// 475. Find palindrome numbers in array
import java.util.Scanner;
public class PalindromeInArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.print("Palindrome numbers: ");
        for(int num:arr){
            int temp=num, rev=0;
            while(temp!=0){ rev=rev*10 + temp%10; temp/=10; }
            if(rev==num) System.out.print(num + " ");
        }
    }
}

// 476. Find largest sum subarray (simple)
import java.util.Scanner;
public class LargestSumSubarray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int maxSum=Integer.MIN_VALUE;
        for(int i=0;i<n;i++){
            int sum=0;
            for(int j=i;j<n;j++){ sum+=arr[j]; if(sum>maxSum) maxSum=sum; }
        }
        System.out.println("Largest sum subarray = " + maxSum);
    }
}

// 477. Find missing number in array 1 to n
import java.util.Scanner;
public class MissingNumber {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n-1];
        int sumExpected=n*(n+1)/2, sumActual=0;
        for(int i=0;i<n-1;i++){ arr[i]=sc.nextInt(); sumActual+=arr[i]; }
        System.out.println("Missing number = " + (sumExpected-sumActual));
    }
}

// 478. Find duplicate numbers in array
import java.util.Scanner;
import java.util.HashSet;
public class DuplicateInArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        HashSet<Integer> set=new HashSet<>();
        System.out.print("Duplicate numbers: ");
        for(int i=0;i<n;i++){
            arr[i]=sc.nextInt();
            if(!set.add(arr[i])) System.out.print(arr[i] + " ");
        }
    }
}

// 479. Rotate array by one position to right
import java.util.Scanner;
import java.util.Arrays;
public class RotateArrayRight {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int last=arr[n-1];
        for(int i=n-1;i>0;i--) arr[i]=arr[i-1];
        arr[0]=last;
        System.out.println("Rotated array: " + Arrays.toString(arr));
    }
}

// 480. Rotate array by one position to left
import java.util.Scanner;
import java.util.Arrays;
public class RotateArrayLeft {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int first=arr[0];
        for(int i=0;i<n-1;i++) arr[i]=arr[i+1];
        arr[n-1]=first;
        System.out.println("Rotated array: " + Arrays.toString(arr));
    }
}

// 481. Find largest and smallest in array without sorting
import java.util.Scanner;
public class MaxMinWithoutSorting {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int max=arr[0], min=arr[0];
        for(int num:arr){ if(num>max) max=num; if(num<min) min=num; }
        System.out.println("Max = "+max+", Min = "+min);
    }
}

// 482. Check if array is sorted ascending
import java.util.Scanner;
public class ArraySortedCheck {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        boolean sorted=true;
        for(int i=0;i<n-1;i++) if(arr[i]>arr[i+1]){ sorted=false; break; }
        System.out.println(sorted ? "Array is sorted" : "Array is not sorted");
    }
}

// 483. Find duplicate elements in array using nested loop
import java.util.Scanner;
public class DuplicateArrayNestedLoop {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.print("Duplicates: ");
        for(int i=0;i<n;i++){
            for(int j=i+1;j<n;j++){
                if(arr[i]==arr[j]) System.out.print(arr[i]+" ");
            }
        }
    }
}

// 484. Sum of two matrices
import java.util.Scanner;
public class SumTwoMatrices {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int r=sc.nextInt(), c=sc.nextInt();
        int[][] a=new int[r][c], b=new int[r][c];
        for(int i=0;i<r;i++) for(int j=0;j<c;j++) a[i][j]=sc.nextInt();
        for(int i=0;i<r;i++) for(int j=0;j<c;j++) b[i][j]=sc.nextInt();
        int[][] sum=new int[r][c];
        for(int i=0;i<r;i++) for(int j=0;j<c;j++) sum[i][j]=a[i][j]+b[i][j];
        System.out.println("Sum of matrices:");
        for(int i=0;i<r;i++){
            for(int j=0;j<c;j++) System.out.print(sum[i][j]+" ");
            System.out.println();
        }
    }
}

// 485. Transpose of a matrix
import java.util.Scanner;
public class TransposeMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int r=sc.nextInt(), c=sc.nextInt();
        int[][] a=new int[r][c];
        for(int i=0;i<r;i++) for(int j=0;j<c;j++) a[i][j]=sc.nextInt();
        System.out.println("Transpose:");
        for(int i=0;i<c;i++){
            for(int j=0;j<r;j++) System.out.print(a[j][i]+" ");
            System.out.println();
        }
    }
}

// 486. Multiply two matrices
import java.util.Scanner;
public class MultiplyMatrices {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int r1=sc.nextInt(), c1=sc.nextInt();
        int[][] a=new int[r1][c1];
        for(int i=0;i<r1;i++) for(int j=0;j<c1;j++) a[i][j]=sc.nextInt();

        int r2=sc.nextInt(), c2=sc.nextInt();
        int[][] b=new int[r2][c2];
        for(int i=0;i<r2;i++) for(int j=0;j<c2;j++) b[i][j]=sc.nextInt();

        if(c1!=r2){ System.out.println("Matrix multiplication not possible"); return; }

        int[][] prod=new int[r1][c2];
        for(int i=0;i<r1;i++){
            for(int j=0;j<c2;j++){
                for(int k=0;k<c1;k++) prod[i][j]+=a[i][k]*b[k][j];
            }
        }
        System.out.println("Product of matrices:");
        for(int i=0;i<r1;i++){
            for(int j=0;j<c2;j++) System.out.print(prod[i][j]+" ");
            System.out.println();
        }
    }
}

// 487. Count frequency of each element in array
import java.util.Scanner;
import java.util.HashMap;
public class ArrayFrequency {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        HashMap<Integer,Integer> map=new HashMap<>();
        for(int num:arr) map.put(num,map.getOrDefault(num,0)+1);
        System.out.println("Frequency of elements: " + map);
    }
}

// 488. Find missing numbers in array 1 to n
import java.util.Scanner;
public class MissingNumbersArray {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n-2];
        int sumExpected=n*(n+1)/2, sumActual=0;
        for(int i=0;i<n-2;i++){ arr[i]=sc.nextInt(); sumActual+=arr[i]; }
        int missingSum=sumExpected-sumActual;
        System.out.println("Sum of two missing numbers = " + missingSum);
    }
}

// 489. Find element which appears odd number of times
import java.util.Scanner;
public class OddOccurrenceElement {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int res=0;
        for(int i=0;i<n;i++){
            int num=sc.nextInt();
            res^=num;
        }
        System.out.println("Element appearing odd times = " + res);
    }
}

// 490. Move zeros to end of array
import java.util.Scanner;
import java.util.Arrays;
public class MoveZerosEnd {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt(), index=0;
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int[] result=new int[n];
        for(int num:arr) if(num!=0) result[index++]=num;
        System.out.println("Array after moving zeros: " + Arrays.toString(result));
    }
}

// 491. Find largest and second largest in array
import java.util.Scanner;
public class LargestSecondLargest {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int largest=Integer.MIN_VALUE, second=Integer.MIN_VALUE;
        for(int num:arr){
            if(num>largest){ second=largest; largest=num; }
            else if(num>second && num!=largest) second=num;
        }
        System.out.println("Largest = "+largest+", Second Largest = "+second);
    }
}

// 492. Find smallest and second smallest in array
import java.util.Scanner;
public class SmallestSecondSmallest {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        int smallest=Integer.MAX_VALUE, second=Integer.MAX_VALUE;
        for(int num:arr){
            if(num<smallest){ second=smallest; smallest=num; }
            else if(num<second && num!=smallest) second=num;
        }
        System.out.println("Smallest = "+smallest+", Second Smallest = "+second);
    }
}

// 493. Check if two arrays are equal
import java.util.Scanner;
import java.util.Arrays;
public class ArrayEquals {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n1=sc.nextInt(), n2=sc.nextInt();
        if(n1!=n2){ System.out.println("Arrays not equal"); return; }
        int[] arr1=new int[n1], arr2=new int[n2];
        for(int i=0;i<n1;i++) arr1[i]=sc.nextInt();
        for(int i=0;i<n2;i++) arr2[i]=sc.nextInt();
        System.out.println(Arrays.equals(arr1,arr2) ? "Arrays are equal" : "Arrays not equal");
    }
}

// 494. Find largest sum contiguous subarray (Kadane’s Algorithm)
import java.util.Scanner;
public class MaxSumSubarrayKadane {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt(), maxSoFar=Integer.MIN_VALUE, maxEnding=0;
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        for(int i=0;i<n;i++){
            maxEnding+=arr[i];
            if(maxSoFar<maxEnding) maxSoFar=maxEnding;
            if(maxEnding<0) maxEnding=0;
        }
        System.out.println("Maximum sum subarray = " + maxSoFar);
    }
}

// 495. Find leaders in an array
import java.util.Scanner;
public class LeadersInArray {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt(), max=Integer.MIN_VALUE;
        int[] arr=new int[n];
        for(int i=0;i<n;i++) arr[i]=sc.nextInt();
        System.out.print("Leaders: ");
        for(int i=n-1;i>=0;i--){
            if(arr[i]>max){ System.out.print(arr[i]+" "); max=arr[i]; }
        }
    }
}

// 496. Find sum of diagonal elements in matrix
import java.util.Scanner;
public class DiagonalSumMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        int sum=0;
        for(int i=0;i<n;i++) sum+=mat[i][i]+mat[i][n-1-i];
        System.out.println("Sum of diagonals = "+sum);
    }
}

// 497. Check if matrix is symmetric
import java.util.Scanner;
public class SymmetricMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        boolean symmetric=true;
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(mat[i][j]!=mat[j][i]) { symmetric=false; break; }
            }
        }
        System.out.println(symmetric ? "Matrix is symmetric" : "Matrix is not symmetric");
    }
}

// 498. Rotate matrix 90 degrees clockwise
import java.util.Scanner;
public class RotateMatrix90 {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        int[][] rotated=new int[n][n];
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) rotated[j][n-1-i]=mat[i][j];
        System.out.println("Rotated matrix:");
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++) System.out.print(rotated[i][j]+" ");
            System.out.println();
        }
    }
}

// 499. Find sum of upper and lower triangle in matrix
import java.util.Scanner;
public class UpperLowerTriangleSum {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        for(int i=0;i<n;i++) for(int j=0;j<n;j++) mat[i][j]=sc.nextInt();
        int upper=0, lower=0;
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(j>i) upper+=mat[i][j];
                else if(i>j) lower+=mat[i][j];
            }
        }
        System.out.println("Upper triangle sum = "+upper+", Lower triangle sum = "+lower);
    }
}

// 500. Check if matrix is identity matrix
import java.util.Scanner;
public class IdentityMatrix {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[][] mat=new int[n][n];
        boolean identity=true;
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                mat[i][j]=sc.nextInt();
                if((i==j && mat[i][j]!=1) || (i!=j && mat[i][j]!=0)) identity=false;
            }
        }
        System.out.println(identity ? "Matrix is identity" : "Matrix is not identity");
    }
}


#Java #CoreJava #JavaPrograms #JavaPractice #JavaInterviewQuestions

Comments

Popular posts from this blog

๐Ÿ“˜ Top 500 Java Interview Questions (With Topics)

Git And GitHub Collaborators and teams

Android Interview Question and Answer