Chcę znaleźć całkowitą liczbę cyfr podziłych o 5 między 1 - 100, w formularzu Windows C #, jak się stąd przystąpić?

int sum;
private void button2_Click(object sender, EventArgs e)
{
    int[] intarray = new int[100];

    for (int i = 0; i < 99; i++)
    {
        intarray[i] = i + 1;
    }

    foreach (int a in intarray)
    {
        if (a / 5 == 0)
        {

        }

    }
}
c#
-5
user9891825 4 czerwiec 2018, 14:11

5 odpowiedzi

Najlepsza odpowiedź

Zainicjuj zmienną jako 0

Na np. Count = 0;

Następnie dodaj instrukcję Count++ w swoim bloku w następujący sposób:

            if (a % 5 == 0)
            {
                  Count++;
            }
1
Akash Gupta 4 czerwiec 2018, 11:21

Uwaga niż a / 5 == 0 jest nie tak. Na przykład 10 jest podzielony przez 2, wynik wynosi 10/5 = 2, a nie równy 0.

if (a % 5 == 0)
{
    //then a is divisible by 5. print or store it
}

Operator modułu, znany również jako resztę, zwraca pozostałą część podziału całkowitego.

Dlatego pełna odpowiedź:

int nInRange = 0;
foreach (int a in intarray)
    if (a % 5 == 0)
        nInRange++;
3
Attersson 4 czerwiec 2018, 11:26

Może tego chcesz.

public static IEnumerable<int> GetIntsDivisible(int start, int finish, int divisor)
{
    for (var i = start; i <= finish; i++)
        if (i % divisor == 0)
            yield return i;
}
public static void Main()
{
    Console.WriteLine(string.Join(", ", GetIntsDivisible(1, 100, 5)));
}

Lub jeśli nie chcesz

public static List<int> GetIntsDivisible(int start, int finish, int divisor)
{
    var result = new List<int>();
    for (var i = start; i <= finish; i++)
        if (i % divisor == 0)
            result.Add(i);
    return result;
}

Wyjście

5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100

Pełna demo tutaj

2
Michael Randall 4 czerwiec 2018, 12:03

Ponieważ pytanie jest nieco niejasne w dokładnym wymaganiu, napiszę podstawową logikę, która może znaleźć liczby dokładnie podzielne przez inny numer.

Istnieje coś zwanego operatorem modułu (%). Daje ci pozostałą część dywizji.e.g. 11% 5 będzie 1, 13% 5 będzie 3, podczas gdy 15% 5 będzie 0

Więc logika sięga,

for(int i=0;i<=100;i++) 
{
     if((i%5)==0)
     {
        \\this is ur number
     }
}
1
Code Name Jack 4 czerwiec 2018, 11:19
        int count = 0;
        for (int i = 1; i <= 100; i++)
        {
            if ((i % 5) == 0)
            {
                count++;
                textBox1.Text = count.ToString();
            }
        }

Alternatywnie,

Int num = (100 + 5) / 5 - (1 + 5 - 1) / 5; // Pokaż wynik tutaj

0
4 czerwiec 2018, 12:36