krasizorbov

Sum_Prime_Non_Prime

Nov 7th, 2018
783
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.50 KB | None | 0 0
  1. using System;
  2.  
  3. namespace SumPrimeNonPrime
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             string stop = string.Empty;
  10.  
  11.             int prime_sum = 0;
  12.  
  13.             int nonprime_sum = 0;
  14.  
  15.             while (stop != "stop")
  16.             {
  17.                 stop = Console.ReadLine();
  18.  
  19.                 int theNum;
  20.                 bool parsed = Int32.TryParse(stop, out theNum);
  21.  
  22.                 if (parsed)
  23.                 {
  24.                     if (theNum < 3)  // special case check, less than 3
  25.                     {
  26.                         if (theNum == 2)
  27.                         {
  28.                             // The only positive number that is a prime
  29.                            
  30.                             prime_sum = prime_sum + theNum;
  31.                         }
  32.                         else
  33.                         {
  34.                             // All others, including 1 and all negative numbers,
  35.                             // are not primes
  36.                             if (theNum < 0)
  37.                             {
  38.                                 Console.WriteLine("Number is negative.");
  39.                             }
  40.                             else if (theNum == 1)
  41.                             {
  42.                                 nonprime_sum = nonprime_sum + theNum;
  43.                             }
  44.                            
  45.                         }
  46.                     }
  47.                     else
  48.                     {
  49.                         if (theNum % 2 == 0)
  50.                         {
  51.                             // Is the number even?  If yes it cannot be a prime
  52.                             //Console.WriteLine("{0} is not a prime", theNum);
  53.                             nonprime_sum = nonprime_sum + theNum;
  54.                         }
  55.                         else
  56.                         {
  57.                             // If number is odd, it could be a prime
  58.                             int div;
  59.  
  60.                             // This loop starts and 3 and does a modulo operation on all
  61.                             // numbers.  As soon as there is no remainder, the loop stops.
  62.                             // This can be true under only two circumstances:  The value of
  63.                             // div becomes equal to theNum, or theNum is divided evenly by
  64.                             // another value.
  65.                             for (div = 3; theNum % div != 0; div += 2)
  66.                                 ;  // do nothing
  67.  
  68.                             if (div == theNum)
  69.                             {
  70.                                 // if theNum and div are equal it must be a prime
  71.                                
  72.                                 prime_sum = prime_sum + theNum;
  73.                             }
  74.                             else
  75.                             {
  76.                                 // some other number divided evenly into theNum, and it is not
  77.                                 // itself, so it is not a prime
  78.                                
  79.                                 nonprime_sum = nonprime_sum + theNum;
  80.                             }
  81.                         }
  82.                     }
  83.                 }
  84.                 else if (stop == "stop")
  85.                 {
  86.                     break;
  87.                 }
  88.             }
  89.             Console.WriteLine("Sum of all prime numbers is: {0}", prime_sum);
  90.             Console.WriteLine("Sum of all non prime numbers is: {0}", nonprime_sum);
  91.         }
  92.     }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment