/* 
Asal Fibonacci Serisi
Fibonacci serisinde her sayı kendisinden önce gelen iki sayının toplamıdır. İlk iki sayı kullanıcı tarafından
girilecektir. Bu sayılar da dâhil, eğer sayı asal sayı değilse, değeri ilk büyük asal sayı olarak güncellenecektir.
Böylece asal Fibonacci serisi elde edilmiş olacaktır. Kullanıcının girdiği ilk iki sayıya göre, 10 adet asal
Fibonacci sayısını görüntüleyen C# kodunu yazınız.

DOGUKAN MORADI 262384001
*/

class Program
{
    static int Toplam(int sayi1, int sayi2)
    {
        return sayi1 + sayi2;
    }
    static bool AsalKontrol(int kontsayi)
    {
        if (kontsayi <= 1) return false;

        for (int i = 2; i < kontsayi; i++)
        {
            if (kontsayi % i == 0)
            {
                return false;
            }
        }
        return true;
    }
    static int SiradakiAsal(int x)
    {
        while (AsalKontrol(x) == false)
        {
            x++;
            AsalKontrol(x);
        }
        return x;
    }
    static void Main()
    {
        bool error = false;
    baslangic:

        try
        {
            Console.WriteLine("İlk sayıyı giriniz:");
            uint sayi1 = Convert.ToUInt16(Console.ReadLine());

            Console.WriteLine("İkinci sayıyı giriniz:");
            uint sayi2 = Convert.ToUInt16(Console.ReadLine());

            int ilkasal1 = 0, ilkasal2 = 0;
            if (AsalKontrol(sayi1) == true)
                ilkasal1 = sayi1;
            else
                ilkasal1 = SiradakiAsal(sayi1);

            if (AsalKontrol(sayi2) == true)
                ilkasal2 = sayi2;
            else
                ilkasal2 = SiradakiAsal(sayi2);

            if (ilkasal1 == ilkasal2) ilkasal2 = SiradakiAsal(ilkasal2 + 1);

            List<int> asalfibonacciserisi = new();
            asalfibonacciserisi.Add(ilkasal1);
            asalfibonacciserisi.Add(ilkasal2);

            for (int i = 0; i < 8; i++)
            {
                int fibonacci1 = Toplam(ilkasal1, ilkasal2);
                int fibonacci2 = 0;

                if (AsalKontrol(fibonacci1) == true)
                    fibonacci2 = fibonacci1;
                else
                    fibonacci2 = SiradakiAsal(fibonacci1);

                asalfibonacciserisi.Add(fibonacci2);
                ilkasal1 = ilkasal2;
                ilkasal2 = fibonacci2;
            }

            Console.WriteLine("\n\nKullanıcıdan alınan sayılar: {0} - {1}  \nAsal Fibonacci Serisi: ", sayi1, sayi2);
            for (int j = 0; j < 10; j++)
            {
                Console.Write(Convert.ToString(asalfibonacciserisi[j]) + " ");
            }
        }
        catch (FormatException)
        {
            Console.WriteLine("\nLütfen 0 ile 65,535 arasında POZİTİF TAM SAYI giriniz.");
            error = true;
        }
        catch (OverflowException)
        {
            Console.WriteLine("\nLütfen 0 ile 65,535 arasında POZİTİF TAM SAYI giriniz.");
            error = true;
        }
        if (error == true)
        {
            error = false;
            goto baslangic;
        }
        Console.ReadKey();
    }
}
 

C Sharp Online Compiler

Write, Run & Share C# code online using OneCompiler's C# online compiler for free. It's one of the robust, feature-rich online compilers for C# language, running on the latest version 8.0. Getting started with the OneCompiler's C# compiler is simple and pretty fast. The editor shows sample boilerplate code when you choose language as C# and start coding.

Read inputs from stdin

OneCompiler's C# online compiler supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample program which takes name as input and print your name with hello.

using System;
 
namespace Sample
{
  class Test
    {
      public static void Main(string[] args)
       {
         string name;
         name = Console.ReadLine();
         Console.WriteLine("Hello {0} ", name);
	}
     }
}

About C Sharp

C# is a general purpose object-oriented programming language by Microsoft. Though initially it was developed as part of .net but later it was approved by ECMA and ISO standards.

You can use C# to create variety of applications, like web, windows, mobile, console applications and much more using Visual studio.

Syntax help

Data types

Data TypeDescriptionRangesize
intTo store integers-2,147,483,648 to 2,147,483,6474 bytes
doubleto store large floating point numbers with decimalscan store 15 decimal digits8 bytes
floatto store floating point numbers with decimalscan store upto 7 decimal digits4 bytes
charto store single characters-2 bytes
stringto stores text-2 bytes per character
boolto stores either true or false-1 bit

Variables

Syntax

datatype variable-name = value;

Loops

1. If-Else:

When ever you want to perform a set of operations based on a condition or set of few conditions IF-ELSE is used.

if(conditional-expression) {
   // code
} 
else {
   // code
}

You can also use if-else for nested Ifs and If-Else-If ladder when multiple conditions are to be performed on a single variable.

2. Switch:

Switch is an alternative to If-Else-If ladder.

switch(conditional-expression) {    
case value1:    
 // code    
 break;  // optional  
case value2:    
 // code    
 break;  // optional  
...    
    
default:     
 // code to be executed when all the above cases are not matched;    
} 

3. For:

For loop is used to iterate a set of statements based on a condition.

for(Initialization; Condition; Increment/decrement) {
  // code  
} 

4. While:

While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.

while(condition) {
 // code 
}

5. Do-While:

Do-while is also used to iterate a set of statements based on a condition. It is mostly used when you need to execute the statements atleast once.

do {
  // code 
} while (condition);

Arrays

Array is a collection of similar data which is stored in continuous memory addresses. Array values can be fetched using index. Index starts from 0 to size-1.

Syntax

data-type[] array-name;

Methods

Method is a set of statements which gets executed only when they are called. Call the method name in the main function to execute the method.

Syntax

static void method-name() 
{
  // code to be executed
}