Gå til innhold

For loop og minste tall delelig på valgt heltall


Anbefalte innlegg

Hei

 

Trenger en for-loop som sjekker hva som er det minste heltallet det valgte tallet er delelig med.

 

F.eks jeg skriver inn tallet 22. Og da finner løkken ut at det minste tallet det kan deles med er 2. (ignorerer tallet 1)

Trenger da å lage en for-loop løkke som sjekker igjennom alle tall fra 2 tom 22 og returnerer boolean verdi true/false. Så skal den hente ut det laveste tallet som ga en true verdi. 

 

 

 

 

Lenke til kommentar
Videoannonse
Annonse
  • 2 uker senere...

 

Hei

 

Trenger en for-loop som sjekker hva som er det minste heltallet det valgte tallet er delelig med.

 

F.eks jeg skriver inn tallet 22. Og da finner løkken ut at det minste tallet det kan deles med er 2. (ignorerer tallet 1)

Trenger da å lage en for-loop løkke som sjekker igjennom alle tall fra 2 tom 22 og returnerer boolean verdi true/false. Så skal den hente ut det laveste tallet som ga en true verdi. 

 

 

 

 

 

Fant du ut av det? Du kan gjøre det slik:

  private static int getSmallestDivisor3(final int nonzeroOddNumber) {
    final int N = Math.abs(nonzeroOddNumber);
    final int Nsqrt = Math.sqrt(N);
    for (int i = 3; i <= Nsqrt; i += 2)
      if (N % i == 0) return i;
    return N;
  }

  public static int getSmallestDivisor(final int n) {
    return (n == 0 ? 1 : (n % 2 == 0 ? 2 : getSmallestDivisor3(n)));
  }

For eksempelet ditt med tallet 22 vil kallet 'getSmallestDivisor(22)' returnere 2.

Endret av jonny
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...