Skip to main content

Featured

C Program to Solve Two Sum Using Brute Force (With Algorithm & Output)

 Introduction The Two Sum problem is a popular coding interview question where we must find two indices of an array whose values add up to a given target. This program demonstrates a simple brute-force solution in C using nested loops and dynamic memory allocation. Problem Statement Given an integer array and a target value, return the indices of the two numbers such that they add up to the target. Each input has exactly one solution, and the same element cannot be used twice. The result should return the indices, not the values. If no solution exists, return NULL.  Algorithm / Logic Explanation Start the program. Traverse the array using a loop from index 0 to numsSize - 1 . Inside this loop, use another loop starting from i + 1 to numsSize - 1 . For every pair (i, j) , check if nums[i] + nums[j] == target . If condition becomes true: Allocate memory for 2 integers using malloc() . Store indices i and j . Set returnSize = 2 . Return the result poi...

Concentric Square Number Pattern In C

๐Ÿ”ข C Program: Concentric Square Number Pattern

#include <stdio.h>

int main() {
    int n;
    printf("Enter the number of layers: ");
    scanf("%d", &n);

    int size = 2 * n - 1;

    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            int min = i;
            if (j < min) min = j;
            if (size - 1 - i < min) min = size - 1 - i;
            if (size - 1 - j < min) min = size - 1 - j;

            printf("%d ", n - min);
        }
        printf("\n");
    }

    return 0;
}
  

๐Ÿ“ Explanation:

This C program prints a concentric number pattern in the form of a square matrix. Each layer of the square is filled with a decreasing number from the outermost layer to the center.

  • Input: The user enters the number of layers (n).
  • Matrix size: It is calculated using 2 * n - 1. This ensures we have n layers on each side (top, bottom, left, right).
  • Two nested loops: These go through each cell (i, j) of the matrix.
  • Finding the minimum distance: We calculate the minimum number of steps required to reach the border from cell (i, j). This is done using 4 comparisons:
    • i → distance from top
    • j → distance from left
    • size - 1 - i → distance from bottom
    • size - 1 - j → distance from right
  • Print value: The value to print is n - min which gives the correct number for that concentric layer.

๐Ÿ’ก Sample Output:

Enter the number of layers: 4

4 4 4 4 4 4 4
4 3 3 3 3 3 4
4 3 2 2 2 3 4
4 3 2 1 2 3 4
4 3 2 2 2 3 4
4 3 3 3 3 3 4
4 4 4 4 4 4 4
  

Comments

Popular Posts

๐ŸŒ™