Primzahlen (Algorithmen)
Schreiben Sie ein Programm, das eine gegebene Zahl daraufhin prüft, ob es sich um eine Primzahl (2, 3, 5, 7, 11, …) handelt.
0 Kommentare
5 Lösung(en)
import java.util.Scanner;
public class PrimzahlCheck {
public static void main(String[] args) {
new PrimzahlCheck().top(); }
void top(){
long zahl = einlesenZahl();
boolean istPrim = check(zahl);
if(istPrim) {
System.out.println(zahl + " ist eine Primzahl."); }
else {
System.out.println("Leider keine Primzahl (" + zahl + ") sorry!"); }
} // end top()
long einlesenZahl() {
Scanner sc = new Scanner(System.in);
System.out.print("Bitte Zahl eingeben: ");
long zahl = sc.nextLong();
return zahl; }
boolean check(long zahl) {
if(zahl < 2) {
return false; }
if (zahl < 4) {
return true; }
long moeglicherTeiler = 2;
long wurzel = (long) Math.sqrt(zahl);
while(moeglicherTeiler <= wurzel) {
if(teilbar(zahl, moeglicherTeiler)) {
return false; }
moeglicherTeiler = moeglicherTeiler + 1; }
return true; }
boolean teilbar(long zahl, long moeglicherTeiler) {
long ganzZahlDivision = zahl / moeglicherTeiler;
return ganzZahlDivision * moeglicherTeiler == zahl; }
} // end of class PrimzahlCheck
package ch.santis.buch.kapitel9;
import java.util.Scanner;
public class Primzahlen {
public static void main(String[] args) {
// TODO Auto-generated method stub
new Primzahlen().run();
}
public void run()
{
Scanner sc = new Scanner(System.in);
System.out.println("Geben Sie eine mögliche Primzahlen ein? ");
int i = sc.nextInt();
if(primzahlen(i))
{
System.out.println("Die Zahl: "+ i +" ist eine Primzahl");
}
else
System.out.println("keine Primzahl");
/* für die ersten 100 Zahlen
int i = 1;
while(i<=100)
{
if(primzahlen(i))
{
System.out.println(i);
}
i++;
}
*/
}
public boolean primzahlen(int number)
{
int i = 2;
while(i <= number)
{
if(number % i == 0 && i < number)
{
return false;
}
else if (number % i == 0 && i == number)
{
return true;
}
i++;
}
return false;
}
}
Lösung von: David Zeindler ()
prim = lambda x : True if x!=1 and len([i for i in range(x-1,1,-1) if x%i==0])==0 else False
Lösung von: rob ert (tub)
Number.prototype.isPrime = function() {
let i = 2, num = this;
if (num == 0 || num == 1) return false;
if (num == 2) return true;
while (i <= Math.ceil(Math.sqrt(num))) {
if (num % i == 0) return false;
i++;
}
return true;
}
Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)
// C++ 14 | VS-2022
#include <iostream>
static bool is_prime(int n) {
if (n == 2) return true;
if (n % 2 == 0 || n == 0 || n == 1) return false;
for (auto i{ 2 }; i <= (int)ceil(sqrt(n)); i++)
if (n % i == 0) return false;
return true;
}
int main() {
for (auto i{ 0 }; i < 1'000; i++)
if (is_prime(i))
std::cout << i << "\n";
}
Lösung von: Jens Kelm (@JKooP)
Verifikation/Checksumme:
1 -> false, 2 -> true, 3 -> true, 4 -> false, ...
Aktionen
Neue Lösung hinzufügen
Bewertung
Durchschnittliche Bewertung:
Meta
Zeit: | 1 |
Schwierigkeit: | k.A. |
Webcode: | 6yqz-4y5k |
Autor: | Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch) |