Code
Code
#include <iostream>
int main(){
int n;
cin>>n;
int k=n;
int r;
int sum=0;
while (k>0){
r=k%10;
sum=sum*10+r;
k=k/10;
cout<<sum<<endl;
if (sum==n){
cout<<"Palindrome";
else{
cout<<"No";
return 0;
}
Fibonacci
#include<iostream>
if (n<=1){
return n;
return fib(n-1)+fib(n-2);
int main(){
int n;
cin>>n;
cout<<fib(n);
}
Armstrong
#include <bits/stdc++.h>
int main(){
int n;
cin>>n;
int h= (int)(log10(n)+1);
int k=n;
int sum=0;
int r;
while(k>0){
r=k%10;
sum=sum+(pow(r,h));
k=k/10;
cout<<sum<<endl;
if (sum==n){
cout<<"Armstrong ";
else{
cout<<"No";
return 0;
}
Reverse string
#include <bits/stdc++.h>
int main(){
string h;
getline(cin,h);
int n=h.length();
for(int i=0;i<n/2;i++)
swap(h[i],h[n-i-1]);
cout<<h;
Reverse array
#include <bits/stdc++.h>
int main(){
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++)
cin>>arr[i];
for(int i=0;i<n/2;i++)
swap(arr[i],arr[n-i-1]);
cout<<arr[i]<<” “;
}
Prime number
#include <bits/stdc++.h>
int main(){
int n;
cin>>n;
int count=0;
if (n%i==0){
count ++;
break;
if (count ==0){
else{
cout<<"Not prime";
return 0;
}
Finding all divisors
#include<bits/stdc++.h>
int main(){
int n;
cin>>n;
if(n%i==0){
cout<<i<<" ";
cout<<n;
HCF
#include<bits/stdc++.h>
int main(){
int a,b;
cin>>a;
cin>>b;
int n=min(a,b);
int hcf=1;
for(int i=2;i<=n;i++){
if (a%i==0 && b%i==0){
hcf =i;
cout<<hcf;
#include<bits/stdc++.h>
int main(){
int a,b;
cin>>a;
cin>>b;
while(a!=b){
if (a>b){
a=a-b;
else{
b=b-a;
cout<<a;
}
Selection sort – find smallest element in array place it in 1st position find smallest element in the
subarray created by removing first elemnt then place it at 2nd position… repeat
#include<bits/stdc++.h>
int main(){
int n;
cin>>n;
int arr[n];
cin>>arr[i];
int min;
min=i;
for(int j=i+1;j<n;j++){
if(arr[j]<arr[min]){
min=j; }
int temp=arr[i];
arr[i]=arr[min];
arr[min]=temp;
cout<<arr[i]<<" ";
}
Bubble sort-repeatedly swap 2 adjacent elements if they are in wrong order after each iteration we will
have our max element in right position we then lessen our sort area to sub array excluding element in
last that has just been sorted
#include <bits/stdc++.h>
int main(){
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
if (arr[j]>arr[j+1]){
swap(arr[j],arr[j+1]);
for(int i=0;i<n;i++){
cout<<arr[i]<<" ";
}
Insertion sort – insert an element from unsorted element to its correct position in sorted array
#include <bits/stdc++.h>
int main(){
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
int j=i-1;
while(arr[j]>current){
arr[j+1]=arr[j];
j--;
arr[j+1]=current;
for(int i=0;i<n;i++){
cout<<arr[i]<<" ";
}
Merge sort – divide and conquer – down into very small elements
#include <bits/stdc++.h>
using namespace std;
int n1=mid-s+1;
int n2=e-mid;
int ar1[n1];
int ar2[n2];
int k=s;
for(int i=0;i<n1;i++){
ar1[i]=arr[k];
k++;
k=mid+1;
for(int i=0;i<n2;i++){
ar2[i]=arr[k];
k++;
int i=0;
int j=0;
//comparing values in temp array and putting lowest value in main array
while(i<n1&&j<n2){
if (ar1[i]<ar2[j]){
arr[s]=ar1[i];
i++;
else{
arr[s]=ar2[j];
j++;
s++;
//if 1 of the pointer reaches end the above while loop while close so just putting remaining values in
main array
while(i<n1){
arr[s]=ar1[i];
i++;
s++;
while(j<n2){
arr[s]=ar2[j];
j++;
s++;
if(s<e){
mergesort(arr,mid+1,e);
merge(arr,s,mid,e);
int main(){
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
mergesort(arr,0,n-1);
for(int i=0;i<n;i++){
cout<<arr[i]<<" ";
Quick sort- divide and conquer but in each iteration we putting one element in right place and adjusting
remaining elements around it
#include <bits/stdc++.h>
int pivot=arr[r];
int i=l-1;
for(int j=l;j<r;j++){
if (arr[j]<pivot){
i++;
swap(arr[i],arr[j]);
swap(arr[i+1],arr[r]);
return i+1;
if (l<r){
int p=partition(arr,l,r);
quicksort(arr,l,p-1);
quicksort(arr,p+1,r);
int main(){
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
quicksort(arr,0,n-1);
for(int i=0;i<n;i++){
cout<<arr[i]<<" ";