Új hozzászólás Aktív témák
-
yash
senior tag
Miniprogramozo versenyt hirdetek (jatek)!
A fodij az, hogy mindenki megcsillogtathatja a kepessegeit, es megmutathatja nekunk, hogy o bizony a legjobb es tud valamit, amit mi nem
Tehat gyakorlatilag semmi, a lenyeg, hogy agytreningezunk.
A feladat a kovetkezo: primszam kiszamitasa elore elkeszitett kodminta alapjan. A cel az, hogy a meglevo kodot ugy alakitsuk at ASM betetek nelkul es az eredeti szovegeket es funkcionalitast megtartva, hogy a kod a leheto leggyorsabban fusson le. Eredetileg egy szalra van tervezve, de profi programozok vihetnek bele tobbszalu programozast is (peldaul megfelezik a szamtartomanyt, es ket szalon megy a vizsgalat egyszerre). A programnak egyetlen fizikai gepen kell tudnia futni (halozatban szamitas most nem cel). Tovabba a minel kisebb .exe meret is cel, a gyorsasagon felul erre is lehet figyelni (de nem kotelezo). A hibakezelesen lehet modositani, de az eredeti formatum boven megteszi. Tehat a lenyeg a minel optimalizaltabb kod, az eredeti funkciok megtartasa mellett. A leggyorsabb kod a nyertes (azonos hardveren tesztelve), azonos sebessegek mellett a tomorebb kod nyer!
(A teszteles egy fizikailag ketmagu processzoron lesz tesztelve 2 GHz-en.)
Akkor lassuk hat vegre az eredeti forraskodot:
using System;
namespace TestCon
{
class Program
{
static void Main(string[] args)
{
try
{
startApp();
}
catch (FormatException e)
{
Console.WriteLine("\n\nPozitiv egesz szamokat lehet csak megadni.");
endApp();
}
catch (Exception e)
{
Console.WriteLine("\n\nHiba tortent.");
endApp();
}
}
private static void endApp()
{
Console.WriteLine("\n\nA kilepeshez nyomjon le egy billentyut!");
Console.ReadKey();
}
private static void startApp()
{
Int64 szam;
Console.Write("Primszamvizsgalat. Kerem a vizsgalando szamot: ");
szam = Int64.Parse(Console.ReadLine());
if (szam > 1)
{
Console.WriteLine("\nPrimszamitas folyamatban...\n");
if (isPrimeWithCount(szam))
Console.WriteLine("Primszam.");
else
Console.WriteLine("Nem primszam.");
}
else
{
Console.WriteLine("\n\nA vizsgalatot csak egynel nagyobb pozitiv egesz szamokra lehet elvegezni!");
}
endApp();
}
private static bool isPrimeWithCount(Int64 szam)
{
bool val = true;
int counter = 0;
Console.Write("\nOsztoi: ");
for (Int64 i = 2; i < szam; i++)
{
if (szam % i == 0)
{
val = false;
counter++;
Console.Write("{0} ", i);
}
}
if (counter == 0)
Console.Write("nincs\n\n");
else
Console.Write("\n\n{0} osztoja van. ", counter);
return val;
}
}
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- GAMER PC : RYZEN 5 4500 / 16GB DDR4 / ASUS RX 480 8GB / WiFi / Bluetooth / 512GB M.2 SSD / 500GB HDD
- Dell Latitude 7390, 13,3" FHD IPS , I5-7300U CPU, 16GB DDR4, 512GB SSD, WIN 11, ( olvasd végig )
- Acer PREDATOR HELIOS NEO 16 / i9-14900HX / RTX 4070 (140W) / 1 TB SSD / 240HZ
- Topping A70 Pro fejhallgató erősítő
- Topping D70 Pro Octo DAC
- LG OLED Televíziók: FRISS SZÁLLÍTMÁNY -30%
- ÁRGARANCIA! Épített KomPhone i7 14700KF 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- Honor Magic 7 Pro - Fekete - Új kipróbált készülék! Karcmentes gyárilag független! 512GB Memória!
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged