Java-ba valaki megtudná oldani?
Írjon olyan függvényt vagy metódust, amely egy természetes számról eldönti, hogy prímszám-e, vagy sem!
(Beépített függvény nem használható) Az egész forráskód kellene nekem. Java programozási nyelven. Köszönöm.
Nyelfüggetlen a kód, bármelyik C alapú nyelvhez jó elvileg:
bool IsPrime(int number)
{
if ((number & 1) == 0) return (number == 2);
int num = sqrt((double)number);
for (int i = 3; i <= num; i += 2)
if ((number % i) == 0) return false;
return true;
}
Egy teljes C++0x-es kód hátha megijed a kérdező és örökre elfelejti ezt a szakmát. :D
#include <iostream>
#include <vector>
#include <ppl.h>
#include <windows.h>
#include "math.h"
using namespace std;
using namespace Concurrency;
namespace IsPrimeTest
{
class Program
{
public:
bool IsPrime(int number)
{
if ((number & 1) == 0) return (number == 2);
int num = sqrt((double)number);
for (int i = 3; i <= num; i += 2)
if ((number % i) == 0) return false;
return true;
}
void Go()
{
vector<int> primes;
DWORD start, end, msSEQ, msPPL;
Sleep(100);
start = GetTickCount();
for (int i = 2; i < 5000002; i++)
if (IsPrime(i))
primes.push_back(i);
end = GetTickCount();
primes.clear();
msSEQ = (end - start);
start = GetTickCount();
parallel_for(2, 5000002, [&](int i)
{
if (IsPrime(i))
primes.push_back(i);
});
end = GetTickCount();
msPPL = (end - start);
cout << "SEQ: " << msSEQ << " ms" << endl;
cout << "PPL: " << msPPL << " ms" << endl;
system("pause");
}
};
}
using namespace IsPrimeTest;
void wmain()
{
Program().Go();
}
@20:39-es
Elöszöris ez egy feleslegesen tulbonyolitott kód amit.
másorszdor pedig Java-rol volt szó, nem c++-ről. De biztosan megeröltető lehet már az elsö szót elolvasni:)
a helyes kód pedig:
public static boolean isPrim(int n) {
if (n<2) return false;
boolean p=true;
int i=2;
while (i<=java.lang.Math.sqrt(n) && p) {
p=n%i!=0;
i++;
}
return p;
}
Csípem a k*rva okosokat, akik játsszák az eszüket. Én csak egy egyszerű program megoldását kértem, hisz végül is ezért találták ki ezt az oldalt.
Jól figyeljetek mert ennyit kértem, közbe megoldottam mert láttam ezt a 4 választ, ami meg se közelítette amit kértem.
package javaapplication1;
import extra.*;
public class Main {
public static void main(String[] args) {
int szam=Console.readInt("Kérek egy számot");
int i;
boolean prim=true;
for (i=2; i<=szam-1;i++){
if(szam%i==0)
prim=false;
}
if (prim) System.out.println("Prím");
else
System.out.println("Nem prím");
}
}
Akkor reagálom már én is a válaszokat:
20:29: Ugye te sem gondoltad komolyan ezt a komoly választ amit odaerőltettél.
20:32: Hasonlítsd össze az én progimmal, ha neked futni fog amit odaba*sztál, über király vagy.
20:36: Ki kérte a komoly hozzáfűznivalódat? Én feladatot kértem, hogy segítsen valaki. De, hát most így vagányabbul érzed magad, hogy lefikáztál, ugye?
20:39: Véleményed le se szarom, nem kértem véleményt vagy talán látsz a kérdésembe, hogy írjál valami hozzáfűzni valót? Amúgy C++ szar, francot se érdekli, Java-t kértem, amit meg oda kopifészeltél, gondolom a gugle barátod jóvoltából nem az én kérdésemre ad segítséget.
Még annyit mondanék, hogy én segítséged kértem, de ennyire kaptam. Dehát Magyarország, én így szeretlek mert ilyen rendes emberek vannak.
Te meg egy bunkó sötét, tajparaszt vagy. Már elnézést.
Tudom, hogy az öntelt pofádnak ez nem elég, de emberek segíteni próbáltak, legjobb tudások szerint. Látszik neked ez nem elég. Uram bocsá, hogy nem egy copy/pastelhető kódot írtak neked, ami bemásolva egyből működik... S a segítségre való probálkozást mivel hálálod? Bunkó, kioktató dumával, és egy gyenge következtetéssel, hogy ilyen Magyarország..
Hát igen, Magyarország tényleg ilyen. Ha önszántából, a semmiért segíteni próbál valaki másokon, de esetleg mégse sikerül, jól oldalbarúgják, hogy ott is maradjon. Gratulálok. :P
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!