Kezdőoldal » Számítástechnika » Programozás » Mondatszerű leírásban ezt...

Mondatszerű leírásban ezt hogy írjam meg?

Figyelt kérdés

Légyszíves ne csak félmegoldásokat, nem tudom sajnos megoldani.Fontos.

A feladat:

Bekérünk egy számot és prímtényezőkre bontjuk.


Előre is köszi!!


2011. okt. 17. 16:18
 1/5 anonim ***** válasza:

Be: szám

ciklus i=1-től szám-ig:

‌ ‌ ‌ ha prim(i): ki prim

ciklus vége

2011. okt. 17. 18:27
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

A ki: prim helyett ki: i

És a prim függvény:


függvény prim(n szám):

ha n=1: vissza Hamis

ha n<4: vissza Igaz

ha n%2=0: vissza Hamis

ha n<9: vissza Igaz

ha n%3=0: vissza Hamis

r=kerekítés(gyök(n))

f=5

ciklus amíg f<=r

ha n%f=0: vissza Hamis

ha n%(f+2)=0: vissza Hamis

f=f+6

ciklus vége

vissza Igaz

függvény vége



A %-jel az osztás maradékát adja (tehát 3%2=1, 7%4=3 stb.)

2011. okt. 17. 18:36
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:

fú hát sajnos nem nagyon értem, hogy most mivan xD

most akkor bele kell írnom azt is amit te írtál 2.?

vagymii? :((

2011. okt. 17. 18:45
 4/5 anonim ***** válasza:

[link]

Ennek alapján meg kéne tudd csinálni.


A lényeg : van ugye egy N számod, amit bekérsz.(eddig még gondolom megy a dolog)

Elvileg úgy lehet egy számot prímtényezőkre bontani, hogy szépen elkezded a legkisebb prímszámtól kezdve(ez a 2) elosztogatni, és amelyikkel osztható, az egy prímtényező lesz. Ha találtál egy prímtényezőt, akkor elosztod vele az eredeti N számot, és ennek a osztásnak az eredményén elölről kezded az egészet, mindezt egészen addig csinálod, amíg az osztás maradékaként nem egy olyan számot kapsz, ami maga is prímszám. Ha idáig elértél, akkor vége van.


Én a következőképpen csinálnám: megvan az N szám. Kigenerálnám egy tömbbe az összes prímszámot, ami kisebb, mint N négyzetgyöke(nyilvánvaló, hogy az annál nagyobb prímtényezője -ha van - kijön valamelyik osztás eredményeként is,ezért felesleges annál többet).


Aztán fogod, egy ciklusban(ami addig fut, amíg N nem prímszám) indítasz egy belső ciklust, és a legkisebb prímszámtól kezdve elkezded elosztogatni N-t a prímszámokkal. Amint találsz egy olyat, amivel N oszható, azt a prímszámot(legyen p) belerakod mondjuk egy eredmeny nevű tömbbe, aztán N = N/p, és végül, miután a külső ciklusból is kiléptél, magát az N-t is belerakod az eredmeny tömbbe.


Prímszámgenerálás az gondolom megy. Ha mégse: elindulsz a legkisebb páratlan prímszámtól(ez a 3, legyen mondjuk P) 2esével növelve P-t, és minden P-re megvizsgálod, hogy osztható-e az előtte talált prímszámok bármelyikével(valójában itt is elég lenne csak a négyzetgyökig nézni, de ne bonyolítsuk). Ha nem, akkor hozzáadod a prímlistádhoz, ha igen, akkor nem csinálsz semmit.

2011. okt. 17. 19:27
Hasznos számodra ez a válasz?
 5/5 webmester-ter ***** válasza:

#include<iostream>

using namespace std;

int main(){

int i,n,b=0,c,f=0;

int a[50],e[50];

cin>>n;

for(i=1;i<n;){

if(n%i==0){

a[b]=i;

b=b+1;

}

}

for(i=1;i<(n/2);i++){

if(a[b]%i==0){

d=d+1;

e[f]=a[b];

}

}

for(i=0;i<=f;i++)

cout<<e[i];

cout<<d<<"primszam volt osztoi kozott";

}



ez egy teljes C++ megoldás

2011. okt. 19. 21:45
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!