Răspuns :
citeste a;
citeste b;
pentru x=b;x>=a;x=x-1 executa
s=0
pentru i=2,i<=x/2,i++ executa
daca x mod i=0 atunci
s=s+i;
sfarsit daca
sfarsit pentru
daca x<s atunci
scrise x
sfarsit daca
sfarsit pentru
sfarsit
b) a,b sunt variabile folosite pentru capetele intervalului
x:folosit pentru iteratia intervalului, fiecare numar din acel interval
s:folosit pentru adunarea divizorilor numarului x diferiti de 1 si el insusi
i:folosit pentru iterarea elementelor intre 2 si x/2 pentru descoperirea divizorilor lui x
Codul C++ mai jos
#include <iostream>
using namespace std;
int main(){
int a,b,x,s,i,exista_subp=0;
cout<<"Introduceti capetele intervalului(mai mic primul):";
cin>>a>>b;
for(x=b;x>=a;x--){
s=0;
for(i=2;i<=x/2;i++){
if(x%i==0){
s=s+i;
}
}
if(x<s){
exista_subp=1;
cout<<x<<" ";
}
}
if(exista_subp==0){
cout<<"Nu exista";
}
return 0;
}
citeste b;
pentru x=b;x>=a;x=x-1 executa
s=0
pentru i=2,i<=x/2,i++ executa
daca x mod i=0 atunci
s=s+i;
sfarsit daca
sfarsit pentru
daca x<s atunci
scrise x
sfarsit daca
sfarsit pentru
sfarsit
b) a,b sunt variabile folosite pentru capetele intervalului
x:folosit pentru iteratia intervalului, fiecare numar din acel interval
s:folosit pentru adunarea divizorilor numarului x diferiti de 1 si el insusi
i:folosit pentru iterarea elementelor intre 2 si x/2 pentru descoperirea divizorilor lui x
Codul C++ mai jos
#include <iostream>
using namespace std;
int main(){
int a,b,x,s,i,exista_subp=0;
cout<<"Introduceti capetele intervalului(mai mic primul):";
cin>>a>>b;
for(x=b;x>=a;x--){
s=0;
for(i=2;i<=x/2;i++){
if(x%i==0){
s=s+i;
}
}
if(x<s){
exista_subp=1;
cout<<x<<" ";
}
}
if(exista_subp==0){
cout<<"Nu exista";
}
return 0;
}
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!