<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Abhijit Tripathy</title>
    <description>The latest articles on DEV Community by Abhijit Tripathy (@abhijit2505).</description>
    <link>https://dev.to/abhijit2505</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F409075%2Fcee28fc6-7e6f-40a3-8f0d-6959013fd74d.png</url>
      <title>DEV Community: Abhijit Tripathy</title>
      <link>https://dev.to/abhijit2505</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abhijit2505"/>
    <language>en</language>
    <item>
      <title>Anyone looking for graphics and content related work ? We can help</title>
      <dc:creator>Abhijit Tripathy</dc:creator>
      <pubDate>Fri, 10 Dec 2021 10:46:30 +0000</pubDate>
      <link>https://dev.to/abhijit2505/anyone-looking-for-graphics-and-content-related-work-we-can-help-26hm</link>
      <guid>https://dev.to/abhijit2505/anyone-looking-for-graphics-and-content-related-work-we-can-help-26hm</guid>
      <description>&lt;p&gt;Studies say a good graphic illustration along with catchy content can increase your client base by 13%.&lt;/p&gt;

&lt;p&gt;We provide a one-stop destination to help you scale up your content needs. We also help corporates with illustrative graphic works &amp;amp; faster content delivery. Here are a few on-demand services that we provide,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Content Strategy&lt;/li&gt;
&lt;li&gt;Content Management&lt;/li&gt;
&lt;li&gt;Graphic Designing&lt;/li&gt;
&lt;li&gt;Illustrative Graphic Designing&lt;/li&gt;
&lt;li&gt;Blog Writing (Regular Posts)&lt;/li&gt;
&lt;li&gt;Video Editing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We would be glad enough to be a partner in your goal to improve your business growth and sales.&lt;/p&gt;

&lt;p&gt;Eagerly waiting for your responses.&lt;/p&gt;

</description>
      <category>startup</category>
    </item>
    <item>
      <title>A snapshot on ML &amp; DL</title>
      <dc:creator>Abhijit Tripathy</dc:creator>
      <pubDate>Wed, 03 Mar 2021 02:30:02 +0000</pubDate>
      <link>https://dev.to/edualgo/a-snapshot-on-ml-dl-2eh</link>
      <guid>https://dev.to/edualgo/a-snapshot-on-ml-dl-2eh</guid>
      <description>&lt;p&gt;The following blog contains brief notes on &lt;strong&gt;“Machine learning and Deep Learning”&lt;/strong&gt; as a part of AI (Augmented Intelligence)&lt;/p&gt;

&lt;p&gt;We came to know that Computers can have the vision to watch/sense and learn from humans, then try to mimic the action with utmost accuracy. So we have three queries now,&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a) How computer watch/sense
b) How computer learn
c) How computer mimic
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The first question can be answered by the “Computer Vision and Robotics”, we use different sensors and hardware along with support precision making programs/software to correctly input data to the computer/system.&lt;/p&gt;

&lt;p&gt;The second question starts with two things available as a parameter - The first one is the “data” that we have collected (From the solution of the first question) and the second one is “patterns and inference*”.&lt;/p&gt;

&lt;p&gt;Now coming to the definition,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Machine Learning is the study of algorithms and mathematical/statistical models, to find out some pattern and perform a certain task without being explicitly instructed”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I have underlined four important terms, I am not going to explain them step by step, but I will explain what exactly happens and the mechanism we generally follow. (Please search for the terminology if you are unable to understand)&lt;/p&gt;

&lt;p&gt;So we have a set of data, and we choose a random sample(most preferable Stratified Random Sample) of data as “Training Data”, now comes the actual work of designing an algorithm and feeding it to the system as some sort of “Code”. Our training data is the input of the algorithm and we get a mathematical/statistical model as output(say P). Over this core layer of data, Algorithm and output, we have a second layer of decision making and task performing programs designed for a specific work, that takes P as input and performs the task. Then comes the answer for the third question, how computers mimic, “Robotics and Expert System”&lt;/p&gt;

&lt;p&gt;Well, arguably, an expert system is a cover layer for “Machine Learning and Deep Learning”, because that includes programs to choose between better ML Algorithm to perform the task, briefly, it emulates the decision-making ability of human expert. &lt;/p&gt;

&lt;p&gt;So basically, we have the following outcome till this part of the text,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z86aJRoR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/trs84u7bajd3k5ufb3vj.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z86aJRoR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/trs84u7bajd3k5ufb3vj.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before explaining that, we have a new terminology - “Neural Networks”. Most of you might know about what a neuron is, well that’s a group of cells responsible for the transfer, modification and response of information inside the human body from the human brain to another part of the organs. In a similar manner, neural networks are programs designed in such a way that the system can learn and further improve its performance like a human body does. As this is the first assignment, I am not discussing the technicalities involved in details.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Deep Learning is a subset of machine learning, focused on developing the ML Algorithm into layers of data and extract a broader sense of details(technically known as features and attributes) for a more precise and accurate prediction or learning depending upon the target attribute/feature&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Forget the definition, lets make that simpler,&lt;br&gt;
We are giving the system this input as an image. Let's see what ML and DL algorithms will predict.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1rrDtpg3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3mn5c8co74v4j426qa8w.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1rrDtpg3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3mn5c8co74v4j426qa8w.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ML Algorithm&lt;/strong&gt; - 4 leg, 1 tail, 2 horns, 2 ears, size - X&lt;br&gt;
&lt;strong&gt;DL Algorithm&lt;/strong&gt; - 4 leg, 1 tail, 2 horns, 2 ears, size - X, head size: body size = P:Q, 20% black spot, 80%                white , cluster of black spot near the neck is more, legs have less amount of black spot&lt;/p&gt;

&lt;p&gt;You must be thinking, how does that even matter? ML Algorithm output is sufficient to identify it’s a cow, isn’t it?&lt;br&gt;
Let's have two images to compare,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KgFKG6ML--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xu5tpl78foypwnicrmjv.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KgFKG6ML--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xu5tpl78foypwnicrmjv.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Your ML Algorithm may fail to distinguish and categorize these two as different(provided the size is the same) but the DL will definitely predict the correct answer because each of the pictures has cows with different ratio of black spot and white spot in their body.&lt;/p&gt;

&lt;p&gt;[ Arguably and Technically this is a wrong example, it is meant to just give an idea that DL is nothing but just an extension and enhancement of ML]&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>datascience</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>Approximation Algorithms (Introduction)</title>
      <dc:creator>Abhijit Tripathy</dc:creator>
      <pubDate>Tue, 23 Feb 2021 02:28:43 +0000</pubDate>
      <link>https://dev.to/edualgo/approximation-algorithms-introduction-16m3</link>
      <guid>https://dev.to/edualgo/approximation-algorithms-introduction-16m3</guid>
      <description>&lt;p&gt;In this article, we will be exploring an interesting as well as a deep overview of Approximation Algorithms, but before that, we will be discussing some important terms.&lt;/p&gt;

&lt;h2&gt;
  
  
  Optimization Problems
&lt;/h2&gt;

&lt;p&gt;In computer science many a time we come across optimization problems, where we have to optimize a certain variable in accordance with some other variables. Optimization means finding a maximum or minimum.&lt;br&gt;
For example,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Finding the shortest path between two vertices in a graph.&lt;/li&gt;
&lt;li&gt;Finding the minimum number of colours needed to colour a graph, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Decision Problems
&lt;/h2&gt;

&lt;p&gt;These are a little bit different from the Optimization problems. In this type of problems, the main target is to find whether a solution exists or not, just like a typical yes or no question.&lt;br&gt;
For example,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Checking if a graph is Hamiltonian&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Checking whether a cycle exists in a Linked List, etc.&lt;br&gt;
Programming and mathematical problems that we have observed in daily life can be categorized into two classes problems,&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;P class&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;NP class&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  P class
&lt;/h3&gt;

&lt;p&gt;The class P consists of those problems that are solvable in polynomial time by the turing machine, i.e. these problems can be solved in time &lt;strong&gt;O(n^k)&lt;/strong&gt; in worst-case, where &lt;strong&gt;k&lt;/strong&gt; is constant.These problems are also known as tractable.&lt;/p&gt;

&lt;p&gt;An algorithm &lt;strong&gt;A&lt;/strong&gt; is a polynomial time algorithm, if there exists a polynomial &lt;strong&gt;p(n)&lt;/strong&gt; such that the algorithm can solve any instance of size n in a time &lt;strong&gt;O(p(n))&lt;/strong&gt;.&lt;br&gt;
Algorithms such as Matrix Chain Multiplication, Single Source Shortest Path, All Pair Shortest Path, Minimum Spanning Tree, etc. run in polynomial time.&lt;/p&gt;
&lt;h3&gt;
  
  
  NP class
&lt;/h3&gt;

&lt;p&gt;NP is the class of decision problems for which it is easy to check the correctness of a claimed answer, with the aid of a little extra information. NP consists of those problems that are verifiable in polynomial time. Hence, we aren’t asking for a way to find a solution, but only to verify that an alleged solution really is correct.&lt;/p&gt;

&lt;p&gt;Every problem in this class can be solved in exponential time using exhaustive search.&lt;br&gt;
Problems such as travelling salesperson, optimal graph colouring, Hamiltonian cycles etc for which no polynomial-time algorithms is known, are classified as NP-complete problems.&lt;/p&gt;
&lt;h2&gt;
  
  
  Approximation Algorithms
&lt;/h2&gt;

&lt;p&gt;The formal definition says,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Given an optimization problem P, an algorithm A is said to be an approximate algorithm for P, if for any given instance I, it returns an approximate solution i.e. a feasible solution.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;An Approximation Algorithm is a way of approach NP-completeness for any optimization problem. This does not guarantee the best solution. The main purpose of an approximation algorithm is to come as close as possible to the optimum value at the most polynomial time. Such algorithms are called approximation algorithms.&lt;/p&gt;

&lt;p&gt;For example -For the travelling salesperson problem, the optimization problem is to find the shortest cycle, and the approximation problem is to find a short cycle.&lt;/p&gt;
&lt;h1&gt;
  
  
  Some famous problems of Approximation Algorithms
&lt;/h1&gt;

&lt;p&gt;Let's discuss some famous Approximation Algorithms with their problem statements,&lt;/p&gt;
&lt;h2&gt;
  
  
  The Vertex Cover Problem
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Problem Statement&lt;/strong&gt;&lt;br&gt;
Given an undirected graph, the vertex cover problem is to find a minimum size vertex cover.&lt;br&gt;
As the name suggests, A vertex cover of an undirected graph is a subset of its vertices such that for every edge (x, y) of the graph, either x or y is in the vertex cover.&lt;br&gt;
This problem is an NP-complete problem and can be solved approximately i.e. no polynomial time solution(unless P = NP).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1) Initialize the result as an empty list {}
2) Consider a set of all edges in a given graph.  Let the set be E.
3) while E is not empty
    a) Pick an arbitrary edge (x, y) from set E and add x and y to result
    b) Remove all edges from E which are either incident on x or y.
4) Return result 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The time complexity of the above algorithm is O(V+E) where V is the number of vertices in the graph and E is the number of edges.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Travelling Salesman Problem
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Problem Statement&lt;/strong&gt;&lt;br&gt;
Given a set of cities and the distance between every pair of cities, the problem is to find the shortest possible route that visits every city exactly once and returns to the starting point.&lt;/p&gt;

&lt;p&gt;This problem can be converted into a graph problem, which has V nodes(i.e. number of cities) and the cost matrix will hold the edge weights(i.e. the distance between any two cities).&lt;br&gt;
The problem is a famous NP-hard problem. There is no polynomial-time to know a solution to this problem.&lt;/p&gt;

&lt;p&gt;A naive approach to solve the problem can be,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1) Consider city 1 as the starting and ending point.
2) Generate all (V-1)! Permutations of cities.
3) Calculate cost of every permutation and keep track of minimum cost permutation.
4) Return the permutation with minimum cost.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above algorithm works in O(V!) time complexity, where V is the number of vertices in the graph.&lt;/p&gt;

&lt;p&gt;There are other approaches using Bitmasking and Dynamic Programming to solve in O(V^2 * 2^V) time complexity.&lt;br&gt;
Branch and Bound can be one approach in finding a solution for this NP-Hard problem.&lt;/p&gt;

&lt;p&gt;This problem can be easier to approximate if the edge weights of the graph follow a triangle inequality, which means &lt;code&gt;w(u,v) &amp;lt;= w(u,x) + w(x,v)&lt;/code&gt;, i.e. distance of city u to city v is less than the sum of the distance of city u to city x and city x to city v. This problem is also known as Metric TSP, which is an approximate version of the problem. This is still NP-Hard, but we can approximate the solution.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bin Packing Problem
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Problem Statement&lt;/strong&gt;&lt;br&gt;
Given n items of different weights and bins each of capacity c, assign each item to a bin such that number of total used bins is minimized. It may be assumed that all items have weights smaller than bin capacity.&lt;br&gt;
In computational mathematics, this problem is a NP Hard problem and the decision problem version of the same is NP Complete.&lt;/p&gt;

&lt;p&gt;This problem has been studied widely and can be solved in many approximation techniques like - Next-Fit (NF), Next-k-Fit (NkF), First-Fit (FF), Best-Fit (BF), Worst-Fit (WF), First Fit Decreasing (FFD) etc.&lt;/p&gt;

&lt;p&gt;The best time complexity can be O(NlogN) for this.&lt;/p&gt;

&lt;h1&gt;
  
  
  Examples of Approximation Algorithms
&lt;/h1&gt;

&lt;p&gt;The approximation algorithms return us a legal solution that may not be optimized, let's have a look at the below examples,&lt;/p&gt;

&lt;h4&gt;
  
  
  The vertex cover problem -
&lt;/h4&gt;

&lt;p&gt;Given an undirected graph, the vertex cover problem is to find minimum size vertex cover, this is an optimized return type, i.e. we need to minimize the size of the vertex cover.&lt;br&gt;
But the approximation version can be compiled as,Given an undirected graph, the vertex cover problem is to find the vertex cover, you may notice that there is no optimization(min/max requirement).&lt;/p&gt;

&lt;h4&gt;
  
  
  The Travelling Salesman Problem
&lt;/h4&gt;

&lt;p&gt;Given a set of cities and distance between every pair of cities, the problem is to find the possible route that visits every city exactly once and returns to the starting point.&lt;br&gt;
Notice that we don't need to find the shortest(i.e. minimum) possible root, instead we just need to find a legal route for our salesman.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;The above problems are some of the examples to deliver the idea of what an Approximation Problem looks like. There are several other problems as well which are NP-hard and NP-complete.&lt;br&gt;
The best thing about approximation algorithms is that, you can cross proof your approach in order to know if that's a feasible one.&lt;br&gt;
And the probable worst thing is, these are approximations not exact.&lt;br&gt;
Algorithms rule the world even if that is approximate or exact. Hence let's utilize these rules to build a better world for everyone.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Original Article Source - &lt;a href="https://iq.opengenus.org/approximation-algorithms-intro/"&gt;https://iq.opengenus.org/approximation-algorithms-intro/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>cpp</category>
      <category>programming</category>
    </item>
    <item>
      <title>Data Manipulation in Python using Pandas</title>
      <dc:creator>Abhijit Tripathy</dc:creator>
      <pubDate>Sat, 13 Feb 2021 13:04:03 +0000</pubDate>
      <link>https://dev.to/edualgo/data-manipulation-in-python-using-pandas-5d8k</link>
      <guid>https://dev.to/edualgo/data-manipulation-in-python-using-pandas-5d8k</guid>
      <description>&lt;p&gt;In Machine Learning, the model requires a dataset to operate, i.e. to train and test. But data doesn’t come fully prepared and ready to use. There are discrepancies like “Nan”/ “Null” / “NA” values in many rows and columns. Sometimes the data set also contains some of the row and columns which are not even required in the operation of our model. In such conditions, it requires proper cleaning and modification of the data set to make it an efficient input for our model. We achieve that by practicing “Data Wrangling” before giving data input to the model.&lt;/p&gt;

&lt;p&gt;Ok, So let’s dive into the programming part. Our first aim is to create a Pandas dataframe in Python, as you may know, pandas is one of the most used libraries of Python.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# importing the pandas library 
&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt; 


&lt;span class="c1"&gt;# creating a dataframe object 
&lt;/span&gt;&lt;span class="n"&gt;student_register&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; 

&lt;span class="c1"&gt;# assigning values to the  
# rows and columns of the 
# dataframe 
&lt;/span&gt;&lt;span class="n"&gt;student_register&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'Name'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'Abhijit'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  
                            &lt;span class="s"&gt;'Smriti'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                            &lt;span class="s"&gt;'Akash'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                            &lt;span class="s"&gt;'Roshni'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; 

&lt;span class="n"&gt;student_register&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'Age'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; 
&lt;span class="n"&gt;student_register&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'Student'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                               &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; 

&lt;span class="n"&gt;student_register&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you can see, the dataframe object has four rows [0, 1, 2, 3] and three columns[“Name”, “Age”, “Student”] respectively. The column which contains the index values i.e. [0, 1, 2, 3] is known as the index column, which is a default part in pandas datagram. We can change that as per our requirement too because Python is powerful.&lt;br&gt;
Next, for some reason we want to add a new student in the datagram, i.e you want to add a new row to your existing data frame, that can be achieved by the following code snippet.&lt;/p&gt;

&lt;p&gt;One important concept is that the “dataframe” object of Python, consists of rows which are “series” objects instead, stack together to form a table. Hence adding a new row means creating a new series object and appending it to the dataframe.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# creating a new pandas 
# series object 
&lt;/span&gt;&lt;span class="n"&gt;new_person&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Series&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s"&gt;'Mansi'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;  
                       &lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'Name'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'Age'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  
                                &lt;span class="s"&gt;'Student'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; 

&lt;span class="c1"&gt;# using the .append() function 
# to add that row to the dataframe 
&lt;/span&gt;&lt;span class="n"&gt;student_register&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;new_person&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ignore_index&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Before processing and wrangling any data you need to get the total overview of it, which includes statistical conclusions like standard deviation(std), mean and it’s quartile distributions. Also, you need to know the exact information of each column, i.e. what type of value it stores and how many of them are unique. There are three support functions, .shape, .info() and .describe(), which outputs the shape of the table, information on rows and columns, and statistical information of the data frame (numerical column only) respectively.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# for showing the dimension  
# of the dataframe 
&lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Shape'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;student_register&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 

&lt;span class="c1"&gt;# showing info about the data  
&lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n\n&lt;/span&gt;&lt;span class="s"&gt;Info&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="n"&gt;student_register&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;info&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; 

&lt;span class="c1"&gt;# for showing the statistical  
# info of the dataframe 
&lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n\n&lt;/span&gt;&lt;span class="s"&gt;Describe"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="n"&gt;student_register&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;describe&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the above example, the .shape function gives an output (4, 3) as that is the size of the created dataframe.&lt;/p&gt;

&lt;p&gt;The description of the output given by .info() method is as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;“RangeIndex”&lt;/strong&gt; describes about the index column, i.e. [0, 1, 2, 3] in our datagram. Which is the number of rows in our dataframe.
As the name suggests “Data columns” give the total number of columns as output.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;“Name”&lt;/strong&gt;, &lt;strong&gt;“Age”&lt;/strong&gt;, &lt;strong&gt;“Student”&lt;/strong&gt; are the name of the columns in our data, &lt;strong&gt;“non-null ”&lt;/strong&gt; tells us that in the corresponding column, there is no NA/ Nan/ None value exists. &lt;strong&gt;“object”&lt;/strong&gt;, &lt;strong&gt;“int64″&lt;/strong&gt; and &lt;strong&gt;“bool”&lt;/strong&gt; are the datatypes each column have.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;“dtype”&lt;/strong&gt; gives you an overview of how many data types present in the datagram, which in term simplifies the data cleaning process.
Also, in high-end machine learning models, “memory usage” is an important term, we can’t neglect that.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The description of the output given by .describe() method is as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;count&lt;/strong&gt; is the number of rows in the dataframe.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;mean&lt;/strong&gt; is the mean value of all the entries in the “Age” column.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;std&lt;/strong&gt; is the standard deviation of the corresponding column.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;min&lt;/strong&gt; and &lt;strong&gt;max&lt;/strong&gt; are the minimum and maximum entry in the column respectively.&lt;/li&gt;
&lt;li&gt;25%, 50% and 75% are the &lt;strong&gt;First Quartiles&lt;/strong&gt;, &lt;strong&gt;Second Quartile(Median)&lt;/strong&gt; and &lt;strong&gt;Third Quartile&lt;/strong&gt; respectively, which gives us important info on the distribution of the dataset and makes it simpler to apply an ML model.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>datascience</category>
      <category>python</category>
      <category>pandas</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Construct the Cypher string based on the given conditions</title>
      <dc:creator>Abhijit Tripathy</dc:creator>
      <pubDate>Sat, 13 Feb 2021 12:46:51 +0000</pubDate>
      <link>https://dev.to/edualgo/construct-the-cypher-string-based-on-the-given-conditions-1f50</link>
      <guid>https://dev.to/edualgo/construct-the-cypher-string-based-on-the-given-conditions-1f50</guid>
      <description>&lt;p&gt;Given a number N, the task is to convert the given number into a Cypher string on the basis of below conditions:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If N is a semiprime, then change every digit at even places of N to it’s corresponding matched alphabet as shown below.&lt;/li&gt;
&lt;li&gt;If N can be written as a sum of two primes, then change every digit at odd places of N to it’s corresponding matched alphabet as shown below.&lt;/li&gt;
&lt;li&gt;If both the condition satisfy the concatenate the above two strings formed.&lt;/li&gt;
&lt;li&gt;If N can’t satisfy the above three criteria, then print “-1”.
Below is the list of matched character:
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ozp8DV-z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2n7q2np7ef4yd1lzltmj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ozp8DV-z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2n7q2np7ef4yd1lzltmj.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt; &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: N = 61 &lt;br&gt;
&lt;strong&gt;Output&lt;/strong&gt;: 6B &lt;br&gt;
&lt;strong&gt;Explanation&lt;/strong&gt;: &lt;br&gt;
Since 61 can be expressed as a sum of two primes: 61 = 2 + 59 &lt;br&gt;
Therefore, the resultant string after changing the character at even index is “6B”.&lt;br&gt;
&lt;strong&gt;Input&lt;/strong&gt;: N = 1011243 &lt;br&gt;
&lt;strong&gt;Output&lt;/strong&gt;: B0B1C4D &lt;br&gt;
&lt;strong&gt;Explanation&lt;/strong&gt;: &lt;br&gt;
Since 1011243 is Semiprime number: 1011243 = 3 * 337081 &lt;br&gt;
Therefore, the resultant string after change the character at even index is “B0B1C4D”. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Approach:&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Check if the given number N is semi prime or not by using the approach discussed in this article. If yes, then do the following: 

&lt;ul&gt;
&lt;li&gt;Convert the given number N to string(say str) using to_string() function.&lt;/li&gt;
&lt;li&gt;Traverse the above string formed and changed the characters at even index as:
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;str[i] = char((str[i] - '0') + 65)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Print the new string formed.&lt;/li&gt;
&lt;li&gt;Check if the given number N can be expressed as a sum of two prime numbers or not using the approach discussed in this article. If yes, then do the following: 

&lt;ul&gt;
&lt;li&gt;Convert the given number N to string(say str) using to_string() function.&lt;/li&gt;
&lt;li&gt;Traverse the above string formed and changed the characters at odd index as:
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;str[i] = char((str[i] - '0') + 65)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Print the new string formed.&lt;/li&gt;
&lt;li&gt;If the above two condition doesn’t satisfy then we can’t form Cypher String. Print “-1”.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Below is the implementation of the above approach:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="c1"&gt;// C++ program for the above approach&lt;/span&gt;

&lt;span class="cp"&gt;#include "bits/stdc++.h"
&lt;/span&gt;&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="k"&gt;namespace&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Function to check whether a number&lt;/span&gt;
&lt;span class="c1"&gt;// is prime or not&lt;/span&gt;
&lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="nf"&gt;isPrime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;sqrt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// Function to check if a prime number&lt;/span&gt;
&lt;span class="c1"&gt;// can be expressed as sum of&lt;/span&gt;
&lt;span class="c1"&gt;// two Prime Numbers&lt;/span&gt;
&lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="nf"&gt;isPossibleSum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// If the N &amp;amp;&amp;amp; (N-2) is Prime&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;isPrime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;isPrime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// Function to check semiPrime&lt;/span&gt;
&lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="nf"&gt;checkSemiprime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;cnt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="c1"&gt;// Loop from 2 to sqrt(num)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;cnt&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
                    &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;num&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
         &lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;/=&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

                &lt;span class="c1"&gt;// Increment the count of&lt;/span&gt;
                &lt;span class="c1"&gt;// prime numbers&lt;/span&gt;
                &lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="n"&gt;cnt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="c1"&gt;// If num is greater than 1, then&lt;/span&gt;
    &lt;span class="c1"&gt;// add 1 to it&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="n"&gt;cnt&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="c1"&gt;// Return '1' if count is 2 else&lt;/span&gt;
    &lt;span class="c1"&gt;// return '0'&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;cnt&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// Function to make the Cypher string&lt;/span&gt;
&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;makeCypherString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;

    &lt;span class="c1"&gt;// Resultant string&lt;/span&gt;
    &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;semiPrime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;sumOfPrime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="c1"&gt;// Make string for the number N&lt;/span&gt;
    &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;to_string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="c1"&gt;// Check for semiPrime&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;checkSemiprime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

        &lt;span class="c1"&gt;// Traverse to make Cypher string&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;str&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

            &lt;span class="c1"&gt;// If index is odd add the&lt;/span&gt;
            &lt;span class="c1"&gt;// current character&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="n"&gt;semiPrime&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;str&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;

            &lt;span class="c1"&gt;// Else current character is&lt;/span&gt;
            &lt;span class="c1"&gt;// changed&lt;/span&gt;
            &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="n"&gt;semiPrime&lt;/span&gt;
                    &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                        &lt;span class="n"&gt;str&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="sc"&gt;'0'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="c1"&gt;// Check for sum of two primes&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;isPossibleSum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

        &lt;span class="c1"&gt;// Traverse to make Cypher string&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;str&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

            &lt;span class="c1"&gt;// If index is odd then&lt;/span&gt;
            &lt;span class="c1"&gt;// current character is&lt;/span&gt;
            &lt;span class="c1"&gt;// changed&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="n"&gt;sumOfPrime&lt;/span&gt;
                    &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                        &lt;span class="n"&gt;str&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="sc"&gt;'0'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;

            &lt;span class="c1"&gt;// Else add the current&lt;/span&gt;
            &lt;span class="c1"&gt;// character&lt;/span&gt;
            &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="n"&gt;sumOfPrime&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;str&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="c1"&gt;// If the resultant string is ""&lt;/span&gt;
    &lt;span class="c1"&gt;// then print -1&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;semiPrime&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;sumOfPrime&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;"-1"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="c1"&gt;// Else print the resultant string&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;semiPrime&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;sumOfPrime&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// Driver Code&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;

    &lt;span class="c1"&gt;// Given Number&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1011243&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="c1"&gt;// Function Call&lt;/span&gt;
    &lt;span class="n"&gt;makeCypherString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;B0B1C4D
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>algorithms</category>
      <category>cpp</category>
      <category>cryptography</category>
    </item>
    <item>
      <title>Caesar Concatenation</title>
      <dc:creator>Abhijit Tripathy</dc:creator>
      <pubDate>Sat, 13 Feb 2021 12:33:11 +0000</pubDate>
      <link>https://dev.to/edualgo/caesar-concatenation-4jl4</link>
      <guid>https://dev.to/edualgo/caesar-concatenation-4jl4</guid>
      <description>&lt;p&gt;Given two strings str1 and str2 containing alphanumeric characters and a number N. The task is to form a new encrypted string which contains the string str1 with a Ceaser Encryption of N characters and the string str2 with a Ceaser Encryption of N characters at odd indices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: str1 = “GeekforGeeks”, str2 = “Geeks123”, N = 4&lt;br&gt;
&lt;strong&gt;Output&lt;/strong&gt;: KiiojsvKiiowKeikw163&lt;br&gt;
&lt;strong&gt;Explanation&lt;/strong&gt;:&lt;br&gt;
Caesar Text for string str1 with a shift of 4 is “KiiojsvKiiow”&lt;br&gt;
Caesar Text for string str2 with a shift of 4 at all even indexes is “Keikw163”&lt;br&gt;
Resultant string is “KiiojsvKiiow” + “Keikw163” = “KiiojsvKiiowKeikw163”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: str1 = “ABcdE23”, str2 = “efda2w”, N = 9&lt;br&gt;
&lt;strong&gt;Output&lt;/strong&gt;: JKlmN12nfma1w&lt;br&gt;
&lt;strong&gt;Explanation&lt;/strong&gt;:&lt;br&gt;
Caesar Text for string str1 with a shift of 9 is “JKlmN12”&lt;br&gt;
Caesar Text for string str2 with a shift of 9 at all even indexes is “nfma1w”&lt;br&gt;
Resultant string is “JKlmN12” + “nfma1w” = “JKlmN12nfma1w”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Approach&lt;/strong&gt;:&lt;br&gt;
This problem is an application of Caesar Cipher in Cryptography. Below are the steps:&lt;br&gt;
The idea is to traverse the given string str1 and str2 and convert all the characters at every index of str1 and at even indexes of str2 by a shift of N on the basis of below 3 cases:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Case 1&lt;/strong&gt;: If characters lies between ‘A’ and ‘Z’ then the current character is encrypted as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;new_character = ( (current_character - 65 + N) % 26 ) + 65;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Case 2&lt;/strong&gt;: If characters lies between ‘a’ and ‘z’ then the current character is encrypted as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;new_character = ( (current_character - 97 + N) % 26 ) + 97;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Case 3&lt;/strong&gt;: If characters lies between ‘A’ and ‘Z’ then the current character is encrypted as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;new_character = ( (current_character - 48 + N) % 10 ) + 48;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Below is the implementation of the above approach:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="c1"&gt;// C++ implementation of the above &lt;/span&gt;
&lt;span class="c1"&gt;// approach &lt;/span&gt;
&lt;span class="cp"&gt;#include &amp;lt;bits/stdc++.h&amp;gt; 
&lt;/span&gt;&lt;span class="k"&gt;using&lt;/span&gt; &lt;span class="k"&gt;namespace&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;printCaesarText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;str1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                     &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;str2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="p"&gt;{&lt;/span&gt; 

    &lt;span class="c1"&gt;// Traverse the string str1 &lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;str1&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 

        &lt;span class="c1"&gt;// Current character &lt;/span&gt;
        &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;str1&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; 

        &lt;span class="c1"&gt;// Case 1: &lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="sc"&gt;'A'&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="sc"&gt;'Z'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
            &lt;span class="n"&gt;str1&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;26&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
        &lt;span class="p"&gt;}&lt;/span&gt; 

        &lt;span class="c1"&gt;// Case 2: &lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="sc"&gt;'a'&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="sc"&gt;'z'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
            &lt;span class="n"&gt;str1&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;97&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;26&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;97&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
        &lt;span class="p"&gt;}&lt;/span&gt; 

        &lt;span class="c1"&gt;// Case 3: &lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="sc"&gt;'0'&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="sc"&gt;'9'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
            &lt;span class="n"&gt;str1&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;48&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;48&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
        &lt;span class="p"&gt;}&lt;/span&gt; 
    &lt;span class="p"&gt;}&lt;/span&gt; 

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;str2&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 

        &lt;span class="c1"&gt;// If current index is odd, then &lt;/span&gt;
        &lt;span class="c1"&gt;// do nothing &lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
            &lt;span class="k"&gt;continue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 

        &lt;span class="c1"&gt;// Current character &lt;/span&gt;
        &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;str2&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; 

        &lt;span class="c1"&gt;// Case 1: &lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="sc"&gt;'A'&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="sc"&gt;'Z'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
            &lt;span class="n"&gt;str2&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;26&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
        &lt;span class="p"&gt;}&lt;/span&gt; 

        &lt;span class="c1"&gt;// Case 2: &lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="sc"&gt;'a'&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="sc"&gt;'z'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
            &lt;span class="n"&gt;str2&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;97&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;26&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;97&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
        &lt;span class="p"&gt;}&lt;/span&gt; 

        &lt;span class="c1"&gt;// Case 3: &lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="sc"&gt;'0'&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="sc"&gt;'9'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
            &lt;span class="n"&gt;str2&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ch&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;48&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;48&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
        &lt;span class="p"&gt;}&lt;/span&gt; 
    &lt;span class="p"&gt;}&lt;/span&gt; 

    &lt;span class="c1"&gt;// Print the concatenated strings &lt;/span&gt;
    &lt;span class="c1"&gt;// str1 + str2 &lt;/span&gt;
    &lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;str1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;str2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt; 

&lt;span class="c1"&gt;// Driver Code &lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; 
&lt;span class="p"&gt;{&lt;/span&gt; 

    &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;str1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"GeekforGeeks"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
    &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;str2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Geeks123"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 

    &lt;span class="n"&gt;printCaesarText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;str1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;str2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;KiiojsvKiiowKeikw163
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Time Complexity&lt;/strong&gt;: O(N + M), where N and M are the lengths of the two given string.&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>string</category>
      <category>cpp</category>
      <category>cryptography</category>
    </item>
    <item>
      <title>eduAlgo: Awating contributors</title>
      <dc:creator>Abhijit Tripathy</dc:creator>
      <pubDate>Sun, 22 Nov 2020 15:19:17 +0000</pubDate>
      <link>https://dev.to/edualgo/edualgo-an-opensource-organization-30de</link>
      <guid>https://dev.to/edualgo/edualgo-an-opensource-organization-30de</guid>
      <description>&lt;h2&gt;
  
  
  What is eduAlgo?
&lt;/h2&gt;

&lt;p&gt;We are an open-source organization named &lt;a href="https://edualgo.github.io/organization/"&gt;eduAlgo&lt;/a&gt; focused on making algorithm learning easier for python developers especially for the beginners by creating modules in the python package &lt;a href="https://pypi.org/project/eduAlgo/"&gt;eduAlgo PyPI&lt;/a&gt;. Other than this, we are having a few opensource projects, which are participating in numerous of opensource programs as organization projects. Not only this, we are in a process to design courses and modules for beginners to learn DSA in python.&lt;/p&gt;

&lt;h4&gt;
  
  
  Why Python?
&lt;/h4&gt;

&lt;p&gt;Python is easy to use, powerful, and versatile, making it a great choice for beginners and experts alike. Python’s readability makes it a great first programming language, it allows you to think like a programmer and not waste time with confusing syntax.&lt;/p&gt;

&lt;h4&gt;
  
  
  Why OpenSource?
&lt;/h4&gt;

&lt;p&gt;Open-source licensing encourages innovation through collaboration. Without it, many of the technologies we take for granted today would never have developed or would be locked away behind patent law. The open-source movement is the reason that technology has developed at such a breakneck pace for the past few decades.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to use the package?
&lt;/h2&gt;

&lt;p&gt;A short demonstration of the package in action can be seen below,&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/C39M8KwwZ6U"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;This python package is open-sourced and published publically on python packaging Index(PyPI).&lt;/p&gt;

&lt;h3&gt;
  
  
  Repositories
&lt;/h3&gt;

&lt;p&gt;1 - &lt;strong&gt;Python Package&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/edualgo"&gt;
        edualgo
      &lt;/a&gt; / &lt;a href="https://github.com/edualgo/eduAlgo"&gt;
        eduAlgo
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A simple python package having modules of different algorithms to use in educational purposes.
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;2 - &lt;strong&gt;eduAlgo App&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/edualgo"&gt;
        edualgo
      &lt;/a&gt; / &lt;a href="https://github.com/edualgo/edualgo-app-demo"&gt;
        edualgo-app-demo
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      This repository contains the demo application of the package edualgo in flutter and dart.
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;3 - &lt;strong&gt;Documentation&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3JOwpme--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/edualgo"&gt;
        edualgo
      &lt;/a&gt; / &lt;a href="https://github.com/edualgo/documentation"&gt;
        documentation
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      The documentation website for the python package "eduAlgo"
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  How to contribute ?
&lt;/h3&gt;

&lt;p&gt;We are very fond of developers out there, we want them to contribute and grow along with us. The contributions that our developers have made previously are precious and we are glad to have them here.&lt;/p&gt;

&lt;p&gt;To contribute in our projects get in touch at - &lt;a href="mailto:founder.edualgo@gmail.com"&gt;founder.edualgo@gmail.com&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  A better demonstration
&lt;/h3&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/j4A3OV8KJEQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>python</category>
      <category>flutter</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The journey of Open Source and my first Hacktoberfest</title>
      <dc:creator>Abhijit Tripathy</dc:creator>
      <pubDate>Sat, 17 Oct 2020 07:01:44 +0000</pubDate>
      <link>https://dev.to/abhijit2505/the-journey-of-open-source-and-my-first-hacktoberfest-37b8</link>
      <guid>https://dev.to/abhijit2505/the-journey-of-open-source-and-my-first-hacktoberfest-37b8</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;In open source, we feel strongly that to really do something well, you have to get a lot of people involved.&lt;br&gt;
&lt;strong&gt;Linus Torvalds&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Heya Amigos !!&lt;br&gt;
Hope everyone is building something great.&lt;/p&gt;

&lt;p&gt;This is Abhijit Tripathy, a sophomore of Computer Science and Engineering from India. I am a python lover and an aspiring Machine Learning Engineer.&lt;/p&gt;

&lt;p&gt;Most importantly, I am active &lt;strong&gt;Open Source Contributor&lt;/strong&gt; 😍&lt;/p&gt;

&lt;p&gt;Everything related to me can be found here - &lt;a href="https://abhijit2505.github.io/portfolio-site/" rel="noopener noreferrer"&gt;My Portfolio&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Today I will be sharing my journey of Open Source and as I have completed the hacktoberfest 2020 challenge, I will be telling about some of my open-source projects in which you may contribute.&lt;/p&gt;

&lt;h2&gt;
  
  
  My open-source journey
&lt;/h2&gt;

&lt;h3&gt;
  
  
  SCI - 2020 (Studentcode In)
&lt;/h3&gt;

&lt;p&gt;My open-source journey started with the three-month-long open-source competition organized by SCI. I was a part of the project named &lt;strong&gt;"Survival Analysis"&lt;/strong&gt;, which is a statistical model used for analyzing and predicting survivals in business, churning of customers, the survival of patients in clinical trials and much more. I have worked on the &lt;strong&gt;EDA&lt;/strong&gt;(Exploratory Data Analysis) part of the model as well as managed to write a python script for the &lt;strong&gt;Nelson Aaelan Estimator&lt;/strong&gt;, that's used for the hazard function in survival analysis. Also, I have worked in building some scripts with the &lt;strong&gt;dash&lt;/strong&gt; module of python for the deployment of the project.&lt;br&gt;
This was my first involvement as a contributor to any open-source project in a group and I was selected as the top 25 winners of the competition as well.&lt;br&gt;
The project can be viewed here - &lt;a href="https://github.com/Abhijit2505/Survival-Analysis" rel="noopener noreferrer"&gt;Survival Analysis&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  BWLU 2020(Build With Letsupgrad)
&lt;/h3&gt;

&lt;p&gt;This was 2.5 months-long open-source project competition organized by Letsupgrad, where I was able to ideate a project named &lt;strong&gt;"Algorithmic Treasure"&lt;/strong&gt;, and contributed as a &lt;strong&gt;Project Manager &amp;amp; Mentor&lt;/strong&gt; for the same. The project is a long term association of developers in order to prepare a website having good resources for the interview preparing candidates. A group of 10-12 developers came together in order to build the primary version of this website.&lt;br&gt;
The project can be viewed here - &lt;a href="https://abhijit2505.github.io/Algorithmic-Treasure-Site/" rel="noopener noreferrer"&gt;Algorithmic Treasure&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Contributor's Hack 2020(Hakincodes)
&lt;/h3&gt;

&lt;p&gt;I have got an opportunity to be a mentor for this open-source program, where I have contributed to one of the participating projects. Mentoring is a great opportunity to refine the skills and help others getting started with open-source. In this program, I have been chosen as the top 5 mentors.&lt;br&gt;
The project can be viewed here - &lt;a href="https://github.com/TesseractCoding/NeoAlgo" rel="noopener noreferrer"&gt;neoAlgo&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Hacktoberfest 2020(Digitalocean, DEV, Intel)
&lt;/h3&gt;

&lt;p&gt;This October 2020, I have got a chance to be the part of Hacktoberfest 2020, as an organizer, maintainer and participant. As I am a part of three global communities namely &lt;a href="https://dsc.community.dev/guru-ghasidas-vishwavidyalaya/" rel="noopener noreferrer"&gt;Developer Student Clubs,GGV&lt;/a&gt;,&lt;a href="https://community.codecademy.com/guru-ghasidas-university/" rel="noopener noreferrer"&gt;Codecademy Campus Chapter&lt;/a&gt; &amp;amp;&lt;a href="https://community.mozilla.org/en/groups/mozilla-student-developers-ggv-bilaspur/" rel="noopener noreferrer"&gt;Mozilla Student Developers,GGV&lt;/a&gt;, I have got a chance to organize two speaker sessions from industry professionals and achievers in explaining the basics of git &amp;amp; GitHub to my college people as well as giving them a chance to dive into opensource.&lt;br&gt;
I have my python software package named &lt;a href="https://github.com/Abhijit2505/eduAlgo" rel="noopener noreferrer"&gt;eduAlgo&lt;/a&gt; participating in the hacktoberfest 2020 as an open-source project. Also, I have completed the challenge by submitting 4 PRs (three to DSC repositories, that included two Django beginner projects and a flask implemented car price, prediction model). Cheers !!!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7c7fadfqxagql13gklyw.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7c7fadfqxagql13gklyw.JPG" alt="My Hacktober completion"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Autumn Of Opensource 2020 (sanscript.tech)
&lt;/h3&gt;

&lt;p&gt;Recently I have got a chance to be a contributor for AOS20 organized by &lt;strong&gt;sanscript&lt;/strong&gt;. This is an ongoing open-source project competition.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Open-source Projects
&lt;/h2&gt;

&lt;p&gt;I have only one project opted for the &lt;em&gt;Hacktoberfest2020&lt;/em&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;eduAlgo&lt;/strong&gt; - This is a very simple python package made up with python script to study different algorithms for educational purposes. This package is currently under planning version and previously this project has been a part of &lt;strong&gt;FOSS Hack 2020&lt;/strong&gt; &amp;amp; &lt;strong&gt;PyCon 2020 Devsprint&lt;/strong&gt;.
PyPI link - &lt;a href="https://pypi.org/project/eduAlgo/" rel="noopener noreferrer"&gt;eduAlgo&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks to Hacktoberfest organizers for coming up with this idea every year and supporting the real open-source 😊&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In real open source, you have the right to control your own destiny.&lt;br&gt;
&lt;strong&gt;Linus Torvalds&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
