Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- /**
- 6. Adjátok meg a primul alprogram teljes leírását, a következők szerint:
- - egyetlen paramétere az "a" természetes szám, a [2,10000] intervallumból
- - visszaadja az "a" szám legkisebb, 1-nél szigorúan nagyobb osztóját.
- b) Olvassunk be n darab természetes számot. Egy n természetes számot majdnem prímnek nevezünk, ha egyenlő két különböző prímszám szorzatával.
- Példa: a 14 majdnem prím, mert 14=2*7
- Írjatok programot, amely felhasználva a primul alprogramot, meghatározza és kiírja a képernyőre, egy-egy szóközzel elválasztva a számok közül a majdnem prím számokat!
- Pl: ha 6 szám van 100 14 21 8 77 35, akkor kiírja: 14 21 77 35
- */
- using namespace std;
- int primul(int a)
- {
- int leg=1;
- while(leg!=a)
- {
- leg++;
- if(a%leg==0) return leg;
- }
- }
- int prim(int n)
- {
- if(n<2) return 0;
- for(int i=2;i<=sqrt(n);i++)
- if(n%i==0) return 0;
- return 1;
- }
- int main()
- {
- int a,n,c[1000];
- cout<<"A alpont"<<endl;
- cout<<"A ";cin>>a;
- cout<<primul(a)<<endl;
- cout<<"B alpont"<<endl;
- cout<<"N ";cin>>n;
- for(int i=1;i<=n;i++)
- cin>>c[i];
- for(int i=1;i<=n;i++)
- {
- if(prim(primul(c[i]))==1 && prim(c[i]/primul(c[i]))==1)
- cout<<c[i]<<" majdnem prim"<<endl;
- else cout<<c[i]<<" nem majdnem prim"<<endl;
- }
- return 0;
- }
- ++++++++++++++++++++++++++++++++
- #include <iostream>
- #include <cmath>
- /**
- 7. a) Írd le az sdiv alprogram teljes definícióját, amely az y paraméterben megkap egy legfeljebb 6 számjegyű természetes számot, és visszatéríti
- az y összes osztójának összegét.
- b) Írj programot, amely a billentyűzetről beolvas egy n (n<10000) természetes számot, és a sdiv alprogram hivatkozásait használva ellenőrzi, hogy az n
- osztóinak összege prímszám-e. Ha igen, akkor a program kiírja a DA üzenetet, ellenkező esetben a NU üzenetet.
- Példa: ha n=206, akkor a kiírt üzenet: NU (1+2+103+206=312, és 312 nem prímszám).
- */
- using namespace std;
- int sdiv(int y)
- {
- int ossz=0;
- for(int i=1;i<=y;i++)
- if(y%i==0) ossz=ossz+i;
- return ossz;
- }
- int prim(int n)
- {
- if(n<2) return 0;
- for(int i=2;i<=sqrt(n);i++)
- if(n%i==0) return 0;
- return 1;
- }
- int main()
- {
- int y,n;
- cout<<"A alpont"<<endl;
- cout<<"Y ";cin>>y;
- cout<<sdiv(y)<<endl;
- cout<<"B alpont"<<endl;
- cout<<"N ";cin>>n;
- if(prim(sdiv(n))==1) cout<<"DA";
- else cout<<"NU";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement