Gå till innehållet

Lösningsförslag till uppgift 6.20

Console.WriteLine("Skriv in ett heltal");
int tal = int.Parse(Console.ReadLine());
Console.WriteLine($"Antalet primtal mindre än {tal} är {AntalPrimtalMindreÄn(tal)}");

/// <summary>
/// Undersöker hur många primtal det finns som är mindre än det angivna talet
/// </summary>
/// <param name="gräns"></param>
/// <returns></returns>
int AntalPrimtalMindreÄn(int gräns)
{
    int antal = 0;

    for (int i = 2; i < gräns; i++)
    {
        if (ÄrPrimtal(i))
        {
            antal++;
        }
    }

    return antal;
}

/// <summary>
/// Undersöker om ett givet tal är ett primtal
/// </summary>
/// <param name="tal"></param>
/// <returns></returns>
bool ÄrPrimtal(int tal)
{

    for (int i = 2; i < tal; i++)
    {
        // Om vi hittar en delare till talet så är det inte ett primtal
        if (tal % i == 0)
        {
            return false;
        }
    }

    // Om ingen delare hittades så är talet ett primtal
    return true;
}