Randomness of Prime Numbers | Maths Explanation for C# Kids
Prime numbers are natural numbers greater than 1 with no positive divisors other than 1 and itself. Prime numbers, in ascending order, are:
                        Because prime numbers are so random in their progression,
                        they are very difficult to predict as they get larger.
                        For the reason of their unpredictability, prime number are applied in 
                        
- Cryptography: RSA encryption relies on large prime numbers.
 - Hashing: Prime numbers help reduce collisions in hash functions.
 - Data structures: Primes are used in sizing hash tables and optimizing algorithms.
 
In this beginner-friendly Maths C# tutorial for kids, we'll show how to list prime numbers in a fun and interactive way for STEM students.
Writing code in C# to list prime numbers will involve checking every number in a range of interest and gathering those that are without factors.
Logic for Determining Prime Numbers | Detailed Explanation for C# Kids
                        Say we want to implement a C# algorithm to list all prime numbers between 2 and 100 inclusive,
                        we would start from 2; check to see whether it has any factors;
                        keep it as a prime number if it has no factors; otherwise discard it.
                        We would then go to 3, and repeat the same process.
                        Repeat same for 4, 5, 6, 7, ..., 98, 99, 100.
                        
                    
                        But we can always use a few tricks for the C# algorithm...
                    
Step 1:
                        First, we'll start our range from 9 (keeping 2, 3, 5, and 7 as prime numbers).
                    
Step 2:
                        Next, we'll only check through odd numbers.
                    
Step 3:
Next, we'll check against the factors 2, 3, and 5.
Step 4:
                        Lastly, we'll check with a subset of smaller  
                        prime numbers that we'll gather as our check progresses.
                    
                        Create a new C# class file; Project, Add Class.
                        Call it PrimeNumbers.
                        
                        Type out the adjoining C# code for listing prime numbers.
                    
Note: You can comment out the C# code for the main class from the previous lesson if you have been following.
So! C# Fun Practice Exercise - List Prime Numbers
As a fun practice exercise, feel free to try out your own boundary values, and see how the C# code lists the prime numbers between those boundary values.
C# Code for Prime Numbers class.
using System.Collections.Generic;
namespace Arithmetic
{
class PrimeNumbers
{
private List<int> list_of_primes; // We will house our gathered prime numbers here.
private int start; // Where to start.
private int stop; // Where to stop.
private int progress; // progress report
private int index; // index into array list_of_primes
private double square_root; // Our loop range for speed enhancement
private bool do_next_iteration;
public PrimeNumbers(int first, int last)
{
start = first;
stop = last;
// STEP 1:
progress = 9;
list_of_primes = new List<int>();
list_of_primes.Add(2);
list_of_primes.Add(3);
list_of_primes.Add(5);
list_of_primes.Add(7);
square_root = 0;
}
/**
* Garners the prime numbers between the requested range.
*
* @return String value
*/
public List<int> getPrimes()
{
// STEP 2:
for (; progress < stop; progress += 2)
{
do_next_iteration = false; // a flag
// STEPS 3, 4:
// Check through already accumulated prime numbers
// to see if any is a factor of "progress".
square_root = (int)Math.Ceiling(Math.Sqrt(progress));
index = 0;
for (; list_of_primes[index] <= square_root; index++)
{
if ((progress % list_of_primes[index]) == 0)
{
do_next_iteration = true;
break;
}
}
if (do_next_iteration)
{
continue;
}
// if all checks are scaled,then "progress" is our guy.
list_of_primes.Add(progress);
}
// Display result.
return list_of_primes;
}
}
}
C# Code for Prime Numbers - Main Class.
using System.Collections.Generic;
namespace Arithmetic
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Welcome to our demonstration sequels");
Console.WriteLine("Hope you enjoy (and follow) the lessons.");
Console.WriteLine("\r\n");
/*
* List Prime Numbers.
*/
int start = 1;
int end = 100;
List<int> answer;
PrimeNumbers my_list = new PrimeNumbers(5, 500);
answer = my_list.getPrimes();
Console.WriteLine("Prime numbers between " + start + " and " + end + " are:");
Console.WriteLine(String.Join(", ", answer));
}
}
}