Se citeste de la tastatura un număr n întreg. Scrie un algoritm care afiseaza:
a) suma valorilor mai mici sau egale decât n
b) Produsul cifrelor numarului n
c) media aritmetică a valorilor pare a mai mici sau egale cu n
RAPID
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
using namespace std;
int main(){ int n,v,p=1,s=0,nr=0,i,aux; cin>>n; aux=n; v=n*(n+1)/2; cout<<"Suma = "<<v<<endl; while(n) { p=p*n%10; n=n/10; } cout<<"Produsul = "<<p<<endl; for(i=0;i<=aux;i+=2) { s=s+i; nr++; }
cout<<"Media = "<<s/nr; return 0;}
using namespace std;
int main(){ int n,v,p=1,s=0,nr=0,i,aux; cin>>n; aux=n; v=n*(n+1)/2; cout<<"Suma = "<<v<<endl; while(n) { p=p*n%10; n=n/10; } cout<<"Produsul = "<<p<<endl; for(i=0;i<=aux;i+=2) { s=s+i; nr++; }
cout<<"Media = "<<s/nr; return 0;}
Răspuns de
0
Pentru a rezolva optim a) si c), se folosesc 2 formule : Suma Gauss si Suma Gauss pentru numere pare
Nu ai oferit informatii despre restrictii. Am considerat n ca fiind int.
Pentru punctele a) si c), am declarat tipul de data long long deoarece este vorba despre inmultiri si este foarte posibil sa depaseasca limita superioara a int -ului.
Pentru b) nu am declarat produsul ca long long deoarece am presupus ca n este int si in felul acesta produsul cifrelor nu o sa depaseasca limita superioara a int-ului
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
long long suma = (long long) n * (n + 1) / 2;
long long sumapara = (long long) n / 2 * (n / 2 + 1);
long long media = sumapara / (n / 2);
int produs = 1;
while(n > 0) {
produs = produs * (n % 10);
n = n / 10;
}
cout <<suma <<" " << media << " " << produs;
return 0;
}
Nu ai oferit informatii despre restrictii. Am considerat n ca fiind int.
Pentru punctele a) si c), am declarat tipul de data long long deoarece este vorba despre inmultiri si este foarte posibil sa depaseasca limita superioara a int -ului.
Pentru b) nu am declarat produsul ca long long deoarece am presupus ca n este int si in felul acesta produsul cifrelor nu o sa depaseasca limita superioara a int-ului
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
long long suma = (long long) n * (n + 1) / 2;
long long sumapara = (long long) n / 2 * (n / 2 + 1);
long long media = sumapara / (n / 2);
int produs = 1;
while(n > 0) {
produs = produs * (n % 10);
n = n / 10;
}
cout <<suma <<" " << media << " " << produs;
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
using namespace std;
int main()
{
int n,v,p=1,s=0,nr=0,i,aux;
cin>>n;
aux=n;
v=n*(n+1)/2;
cout<<"Suma = "<<v<<endl;
while(n)
{
p=p*n%10;
n=n/10;
}
cout<<"Produsul = "<<p<<endl;
for(i=0;i<=aux;i+=2)
{
s=s+i;
nr++;
}
cout<<"Media = "<<s/nr;
return 0;
}