Finnið stærsta prímtöluþátt heiltölu- Java


Höfundur
gingij4
Nýliði
Póstar: 9
Skráði sig: Sun 08. Sep 2013 11:41
Reputation: 0
Staða: Ótengdur

Finnið stærsta prímtöluþátt heiltölu- Java

Pósturaf gingij4 » Mið 10. Sep 2014 15:09

Er að gera verkefni í skólanum þarf sem ég að að finna stærsta prímtöluþátt heiltölu og mér gengur ekkert sérstaklega vel að gera það.

fyrirmælin eru þessi:

Í þessu verkefni á að skrifa Java forrit sem les eina heiltölu (int) frá aðalinntaki og skrifar stærsta prímtöluþátt tölunnar á aðalúttak.
Munið að prímtala er heiltala stærri en 1 þ.a. engin heiltala stærri en 1 gengur upp í henni nema talan sjálf.
Þið megið gera ráð fyrir að lesna talan sé stærri en 1 og megi tákna sem int.
Til dæmis ætti inntakið

6

að gefa úttakið
3

Einnig ætti inntakið
15

að gefa úttakið
5

Inntakið
27

ætti að gefa úttakið
3

Inntakið
17

ætti að gefa úttakið
17


Er einhver hér sem gæti gefið mér einhverja hugmynd hvernig ég á að gera þetta?




Klemmi
Stjórnandi
Póstar: 4197
Skráði sig: Fim 10. Apr 2003 12:16
Reputation: 1351
Staða: Tengdur

Re: Finnið stærsta prímtöluþátt heiltölu- Java

Pósturaf Klemmi » Mið 10. Sep 2014 15:31

Ertu í vandræðum með forritunina sjálfa eða að útbúa algrím sem finnur stærsta prímtöluþátt?

Ef þig vantar bara algrímin, þá eru nokkur postuð hér:
http://stackoverflow.com/questions/2328 ... f-a-number

Ef þig vantar aðstoð við hvernig á að forrita algrímin í Java, þá er það annar handleggur (þó einfaldur).



Skjámynd

Lunesta
Gúrú
Póstar: 568
Skráði sig: Mán 30. Nóv 2009 16:16
Reputation: 13
Staða: Ótengdur

Re: Finnið stærsta prímtöluþátt heiltölu- Java

Pósturaf Lunesta » Mið 10. Sep 2014 15:38

visbendingar:
ef 15 er deilanlegt með 5 þá
15%5=0.
notaðu
int staerst =2 og
í hvert skipti sem þu færð stærri frumtölu rot þá mattu
setja staerst = su tala.

ætti að vera allt sem þu þarft



Skjámynd

tlord
Tölvutryllir
Póstar: 601
Skráði sig: Mið 30. Nóv 2011 17:28
Reputation: 0
Staða: Ótengdur

Re: Finnið stærsta prímtöluþátt heiltölu- Java

Pósturaf tlord » Mið 10. Sep 2014 15:40

byrjaðu að gera fall sem finnur hvort tala er prímtala.. niðurstaðan ætti að vera true/false



Skjámynd

Viktor
Internetsérfræðingur
Póstar: 6799
Skráði sig: Mán 04. Apr 2005 11:01
Reputation: 940
Staðsetning: https://notendur.hi.is/vjh2/
Hafðu samband:
Staða: Ótengdur

Re: Finnið stærsta prímtöluþátt heiltölu- Java

Pósturaf Viktor » Mið 10. Sep 2014 15:56

Kóði: Velja allt

        int i;
        for (i = 2; i <= number; i++) {
        if (number % i == 0) {
            number /= i;
            i--;
        }
        }
        System.out.println(i);


I wish I was cool enough to not care how much I care about pretending not to care about things


Macbook Pro 13" M2 16GB 512GB

Ryzen 3600X 2070S 16GB

Skjámynd

Lunesta
Gúrú
Póstar: 568
Skráði sig: Mán 30. Nóv 2009 16:16
Reputation: 13
Staða: Ótengdur

Re: Finnið stærsta prímtöluþátt heiltölu- Java

Pósturaf Lunesta » Mið 10. Sep 2014 16:15

"ekkert sem skipti máli var skrifað hér"

mátt samt ekki gefa honum allt dæmið..
oh well



Skjámynd

rickyhien
Gúrú
Póstar: 562
Skráði sig: Lau 25. Maí 2013 20:39
Reputation: 29
Staðsetning: Reykjavík
Staða: Ótengdur

Re: Finnið stærsta prímtöluþátt heiltölu- Java

Pósturaf rickyhien » Mið 10. Sep 2014 23:26

Sallarólegur skrifaði:

Kóði: Velja allt

        int i;
        for (i = 2; i <= number; i++) {
        if (number % i == 0) {
            number /= i;
            i--;
        }
        }
        System.out.println(i);


og ég held að það þarf ekki að láta "i" fara alla leið upp að "number" heldur bara Math.sqrt(number)

edit: ah nevermind sorry sá ekki að það er hægt að gefa sama tölu ef talan væri prímtala..my bad



Skjámynd

Lunesta
Gúrú
Póstar: 568
Skráði sig: Mán 30. Nóv 2009 16:16
Reputation: 13
Staða: Ótengdur

Re: Finnið stærsta prímtöluþátt heiltölu- Java

Pósturaf Lunesta » Mið 10. Sep 2014 23:43

rickyhien skrifaði:
Sallarólegur skrifaði:

Kóði: Velja allt

        int i;
        for (i = 2; i <= number; i++) {
        if (number % i == 0) {
            number /= i;
            i--;
        }
        }
        System.out.println(i);


og ég held að það þarf ekki að láta "i" fara alla leið upp að "number" heldur bara Math.sqrt(number)

edit: ah nevermind sorry sá ekki að það er hægt að gefa sama tölu ef talan væri prímtala..my bad


það væri samt betra forrit. Keyrir á færri lykkjur og færri aðgerðir í hverri lykkju -> fljótlegra og skemmtilegra.