Upload
marcelin-robu
View
388
Download
5
Embed Size (px)
Citation preview
Probleme la Informatica
1.Aflati cate numere pare sunt in intervalul (a,b).
Start
Citeste a,b
Daca a%2=0 si b%2=0
Atunci k ((b-a+1)/2))+1
Altfel k ((b-a+1)/2)
Scrie k
Stop
2.Fie m si n 2 numere natural.Sa se calculeze suma tuturor numerelor cuprinse in intervalul (m,n).
Start
Citeste m,n
Daca m>n
Atunci aux m
m n
n aux
S n*(n+1)/2-m*(m+1)/2
Scrie S
Stop
3.Se dau 2 numere x si y.Sa se afle cate numere sunt divizibile cu 3 din intervalul (x,y).
Start
Citeste x,y
Daca x>y
Atunci aux x
x y
y aux
k (y/3)-((x-1)/3)
scrie k
stop
4.Se da un numar natural natural n.Sa se afle cifrele numarului n.
Start
Citeste n
Cat timp n !=0 executa
c n%10
n [n/10]
scrie c
stop
5.Se da un numar natural n.Sa se calculeze suma cifrelor sale.
Start
Citeste n
S 0
cat timp n!=0 executa
c n%10
n [n/ 10]
S S+C
Scrie S
Stop
6.Sa se calculeze produsul cifrelor unui numar natural ‘’n’’.
Start
Citeste n
P 1
Cat timp n!=0 executa
c n%10
n [n/10]
P P*c
scrie P
Stop
7.Sa da un numar natural n.Sa se calculeza produsul cifrelor pare.
Start
Citeste n
P 1
Cat timp n!=0 executa
c n%10
n [n/10]
daca c%2=o
atunci P P*c
scrie P
Stop
8.Sa se calculeze patratul sumei divizibile cu 3.
Start
Citeste n
S 0;
cat timp n!=0 executa
c n%10;
n [n/10];
daca c%3=0
S S+c;
Scrie S*S
Stop
9.Sa se calculeze media aritmetica a cifrelor unu numar dat.
Start
Citeste n
S 0;
K 0;
Cat timp n!=0 executa
c n%10;
n[ [n/10];
S S+c;
k k+1
Ma=S/k
Scrie Ma
Stop
10.Sa se calculeze suma cifrelor prime ale unui numar natural dat.
Start
Citeste n
S 0;
Cat timp n!=0 executa
c n%10;
n [n/10];
daca c=2 sau c=3 sau c=5 sau c=7
atunci S S+c;
scrie S
Stop
11.Se da un numar natural n.Sa se afle media aritmetica a cifrelor prime si produsul cifrelor pare.
Start
Citeste n
S 0;
Cat timp n!=0 executa
c n%10;
n [n/10];
daca c=2 sau c=3 sau c=5 sau c=7
atunci S S+c;
k k+1
Ma= S/k
Daca c%2=0
Atunci P P*c
Scrie Ma,P
Stop.
12.Sa se afiseze cea mai mare cifra a unui numar natural dat.
Start
Citeste n
Max 0;
Cat timp n!=0 executa
c n%10;
n [n%10];
daca c >max
atunci max c
scrie max
stop
13.Sa se afiseze cea mai mare cifra impara se cea mai mica cifra para a unui numar natural dat.
Start
Citeste n
Max 0;
Min 9;
Cat timp n!=0 executa
c n%10;
n [n/10];
daca c%2=1
atunci daca c>max
max c
altfel daca c<min
min c
scrie max,min
stop
14.Sa se afle numarul de cifre ale unui numar natural dat.
Start
Citeste n
K 0;
cat timp n!=0 executa
c n%10;
n [n/10];
k k+1
scrie k
stop
15.Sa se numere cate dintre cifrele unui numar natural dat n sunt divizibile cu 4 si cate cifre sunt divizibile cu 6.
Start
Citeste n
b 0;
m 0;
cat timp n!=0 executa
c n%10;
n [n/10];
daca c%4=0
b b+1;
daca c%6=0
m m+1;
scrie b,m
stop
16.Sa se decida daca un numar dat este palindrom.
Start
Citeste n
Ogl 0;
m n;
cat timp n!=0 executa
c n%10;
n [n/10];
ogl ogl *10+c
daca m=ogl
atunci scrie ,,m este palindrom’’
altfel scrie ,,m nu este palindrom’’
stop
17.Se da un numar natural n.Sa se formeze un nou numar care sa contina ca cifre cifrele primului numar dar in ordine inversa(oglinditul numarului).
Start
Citeste n
Ogl 0;
cat timp n!=0 executa
c n%10;
n [n/10];
ogl ogl *10+c
scrie ogl
stop
18.Sa se elimine dintr-un numar natural dat n cifrele pare.
Start
Citeste n
Ogl 0;
cat timp n!=0 executa
c n%10;
n [n/10];
daca c%2=0
atunci ogl ogl *10+c
m 0;
cat timp ogl !=0 executa
c ogl %10;
ogl [ogl /10];
m m*10+c
scrie m
stop.
19.Se da un numar natural n.Sa se formeze un nou numar care sa contina ca cifre cifrele pare din primul numar dar in ordine inversa.
start
citeste n
ogl 0;
cat timp n !=0 executa
c n%10;
n [n/10];
daca c%2=0
atunci ogl ogl *10+c
scrie ogl
stop
20.Se da un numar natural n.Sa se afiseze prima sa cifra.
Start
citeste n
ogl 0;
cat timp n !=0 executa
c n%10;
n [n/10];
ogl ogl *10+c
x ogl %10
scrie x
Stop
21.Se da un numar natural n.Sa se afiseze numarul obtinut prin eliminarea celei mai mici cifre.
Start
citeste n
ogl 0;
cat timp n !=0 executa
c n%10;
n [n/10];
max o;
daca c> max
atunci max c;
daca c!= max
atunci ogl ogl *10+c
m 0;
cat timp ogl !=0 executa
c ogl %10;
ogl [ogl/10];
m m *10+c
scrie m
stop
22.Se citesc de la tastatura 3 variabile intregi z,l,a reprezentand ziua,luna,anul.Sa se afiseze ziua urmatoare.
Start
Citeste z,l,a
Daca z 31 si l 12
Atunci z 1,l 1,a a+1
Altfel daca z 31,si l=1 sau l=3 sau l=5 sau l=7 sau l =8 sau l =10
Atunci z 1 si l l+1
Altfel daca z 30 si l=4 sau l=6 sau l=9 sau l=11
Atunci z 1 si l l+1
Altfel daca z 29 si a%4=0 sau
Atunci z 1 si l 3
Altfel daca z 28 si l 2 si>( a %4 != 0)
Atunci z 1,l 3
Altfel z 21
Scrie z
Stop
23.Aflati cel mai mare divizor comun a 2 numere.
a)prin scaderi repetate:
start
citeste a,b
daca a>b
atunci a a-b;
altfel b b-a;
scrie a
stop
b)prin algoritmul lui Euclid:
start
citeste a,b
r a%b
cat timp r !=0 executa
a b;
b r;
r a%b;
scrie r
stop
24..Scrie algoritmul pentru a afla cel mai mare divisor comun a 3 numere.
start
citeste a,b,c
cat timp a!= b executa
daca a>b
atunci a a-b;
altfel b b-a;
cat timp a!= c executa
daca a>c
atunci a a-c;
altfel c c-a;
scrie c
stop
25.Sa se calculeze suma S=1+2+3+...+n.
Start
Citeste n
S 0;
pentru i=1,n executa
S S+i;
Scrie s
Stop.
26. Sa se calculeze suma de patrate S=12+22+32 +...+n2.
Start
Citeste n
S 0;
pentru i=1,n executa
S S+i*i;
Scrie s
Stop.
27.Sa se calculeze produsul a ‘’n’’ numere consecutive.
Start
Citeste n
P 1;
pentru i=1,n executa
P P*i;
Scrie P
Stop
28. Sa se calculeze suma S=1-2+3-4+5-6+...+n.
Start
Citeste n
S 0;
pentru i=1,n executa
daca i%2=1
atunci S S+i;
altfel S S-i;
scrie S
Stop.
29.Sa se calculeze b= 1+1/22+1/32+1/42+...+1/n2.
Start
Citeste n
S 0;
pentru i=1,n executa
S S+i/(i*i);
Scrie s
Stop.
30. Sa se calculeze S=2+4+6+2n.
Start
Citeste n
S 0;
pentru i=2n,n executa
S S+i;
Scrie s
Stop.
31.Sa se calculeze suma S=1+3+5+7+…+2n+1.
Start
Citeste n
S 0;
pentru i=1,2n,2 executa
S S+i;
Scrie s
32.Sa se afiseze numarul divizorilor proprii ai unui numar natural dat.
START
Citeste n
d0
Pentru i=2, n/2 executa
Daca n%i=0
Atunci dd+1
Scrie d
STOP
33.Sa se calculeze suma divizorilor unui numar.
I START II START
Citeste n Citeste n
S0 S0
Pentru i=1, n executa Pentru i=1, n/2 executa
Daca n%i=0 Daca n%i=0
SS+1 SS+i
Scrie S Scrie S+n
STOP STOP
34.Sa se afle daca n este numar prim.
Start
Citeste n
OK=1;
Pentru i=2, n/2 executa
Daca n%i=0
Atunci OK=0
Daca OK=1
Atunci scrie ‘’n este prim’’
Altfel scrie’’nu nu este prim’’
Stop
35.Sa se calculeze suma divizorilor primi ai unui numar natural.
Start
Citeste n
S=0;
pentru i=1,n/2 executa
daca n%i=0
scrie i
pentru j=2,i/2 executa
daca i%j !=0
atunci S=S+i;
scrie S
stop
36. Sa se calculeze produsul divizorilor primi ai unui numar natural.
Start
Citeste n
P=1;
pentru i=1,n/2 executa
daca n%i=0
scrie i
pentru j=2,i/2 executa
daca i%j !=0
atunci P=P*i;
scrie P
stop
38.Sa se scrie un program care verifica daca un numar natural citit de la tastatura este perfect.
Start
Citeste n
S=0;
pentru i=1,n/2 executa
daca n%i=0
atunci S=S+i;
daca S=n
atunci scrie ‘’n este perfect’’
altfel scrie ‘’n nu este perfect’’
stop
39.Se citesc 2 numere intregi a,b.Sa se realizeze un algoritm care sa verifice daca cele 2 numere sunt prietene.
Start
Citeste n
Sa=0;
Sb=0:
Pentru i=2, a/2 executa
Daca a%i=0
Atunci Sa=Sa+i;
Pentru i=2, b/2 executa
Daca b%i=0
Atunci Sb=Sb+i;
daca Sa=b sau Sb=a
atunci scrie ‘’a si b sunt prietene’’
altfel scrie ‘’a si b nu sunt prietene’’
stop.
40.Se da un sir de numere naturale ‘’n’’.Sa se afle numarul maxim din sir.
Start
Citeste n,x
Max x;
Pentru i=1,n
Daca x> max
Atunci max x;
Scrie x
Stop
41.Se cunosc notele a n elevi la un extemporal.Sa se afiseze care este nata maxima si de cati elevi a fost obtinuta.
Start
Citeste n,x
K 0;
Max x;
Pentru i=1,n
Daca x> max
Atunci max x;
Daca x=max
Atunci k k+1;
Scrie max,k
Stop
42..Avem un sir de n numere.Cate dintre acestea sunt prime?
Start
Citeste n,x
K 0;
OK=1;
Pentru i=1,n
Pentru i=2, x/2 executa
Daca x%i=0
Atunci OK=0
Daca OK=1
K k+1;
Scrie k
Stop
43.Se citeste un numar natural cu cel putin 4 cifre.Sa se afiseze in ordine crescatoare toate numerele naturale pare atat timp cat suma lor nu depaseste pe ‘’n’’.
Start
Citeste n ,x
X 2;
S 2;
Cat timp S<= executa
X x+2;
S S+2;
Scrie x
Stop
44.Se citeste un numar natural ‘’n’’.Sa se determine daca este cub perfect.
Start
Citeste n,i
i 1;
pentru i=1,n executa
daca n=i*i*i
atunci scrie ,,n este cub perfect’’
altfel scrie ,,n nu este cub perfect’’
stop
45.Scrieti un algoritm care determina cel mai mic si cel mai mare numar dintre cele ‘’n’’ citite de la tastatura.
Start
Citeste n,x
Min x;
Max x;
Pentru i=1,n executa
Daca min >x
Atunci min x;
Daca max<x
Atunci max x;
scrie min,max
stop
46.Se da un numar natural n.Sa se determine cel de-al “n”-lea sirului.
C={ 1 , dacan=11 , dacan=2a+b ,daca n≥3
Start Citeste n Daca n=1 sau n=2 atunci c1 Altfel a1 b1 ca+b pentru i=3, n executa ab bc ca+b scrie n stop47. Sa se determine cel de-al “n”-lea sirului:f(n)=2*f(n-3)+5f(n-1)+3f(n-2) n>=3n=0 f(0)=5;n=1 f(1)=7;n=2 f(n)=8
start citeste n daca n=0 atunci d5
altfel daca n=1 atunci d7 altfel daca n=2 atunci d8 altfel a5 b7 c8 pentru i=3 , n executa d1*a+5*c+3*b ab bc cd scrie dstop
48. Sa se determine cel de-al “n”-lea sirului:g(n)={ 5 , n=070 , n=1
2∗g (n−2 )+3∗g (n−1 ) ,N ≥2Start Citeste n Daca n=0 atunci d5 Altfel daca n=1 atunci d70 Altfel a5 S70 Pentru i=2 , n executa d2*a+3*b ab bc scrie dstop
49. Sa se determine cel de-al “n”-lea sirului:f(n)={ 1 , dacan=12 , dacan=2
3 ,l (n−1 )+2 f (n−2 ) , n>2start citeste n daca n=1 atunci d 1 altfel daca n=2 atunci d2 altfel a1 b2 pentru i=3 , n executa d 3*b+2*c ab bd scrie dstop50.Se da un numar natural n.Sa se afiseze toate perechile de 2 numere mai mici decat n.start citeste n pentru i=1 , n-1 executa pentru j=i+1 , n executa scrie “c” , I, “,” , j , “)”stop
51.Sa se scrie un program care sa calculeze cate perechi de 2 numere natural nu depasesc un numar natural dat au acelas numar de divizori.start citeste n k1 x1 pentru i=1 , n-1 executa pentru j=i+1 , n executa pentru c =1 , i/2 executa daca i%c=0 atunci kk+1 pentru d=1 , i/2 executa daca j%d=0 atunci xx+1 daca k=x atunci scrie “(“ , i , “,” , j , “)”stop 52.Sa se afiseze toate perechile de 2 numere natural mai mici sau egale decat n cu proprietatea ca primul numar al perechi are suma divizorilor un numar par sic el de-al 2-lea un numar impar.start citeste n S11 S2 1 pentru i=1 , n-1 executa pentru j=i+1 , n executa pentru c=1 , i/2 executa daca i%c=0 , atunci S1S1+c pentru d =1 , j/2 executa daca j%d=0 atunci S2S2+d daca S1%2=0 si S2%2!=0 atunci scrie “(“ , i , “,” , j , “)”stop53.Sa se afiseze toate perechile de numere [a;b] care sunt prime intre ele.
start citeste a,b pentru i=2 ,b-1 executa pentru j=i+1, bexecuta xi yj cat timp x!=y executa daca x>y atunci xx-y altfel yy-x daca x-1 atunci scrie “(“ , i , “,” , j , “)”stop