Să se scrie un program care citeşte de la tastatură un număr natural n şi apoi un şir de n numere naturale şi determină cel mai mare număr prim din șir și de câte ori apare.
Puiutz:
Ai facut functii?
#include <math.h>
using namespace std;
int main()
{
int n,a,max=0,cnt=0;
cin>>n;
int ok=1;
for(int i=0; i<n; i++)
{
cin>>a;
for(int d=2; d<=sqrt(a) && ok==1; d++)
if(n%d==0)
ok=0;
if(ok==1)
{
if(max<a)
{
max=a;
}
if(max==a)
{
cnt++;
}
}
}
cout<<max<<" "<<cnt;
return 0;
}
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
using namespace std;
int p;int maxim(int v[100],int n){ int m=0;for(int i=1;i<=n;i++) if(v[i]>=m){p=i; m=v[i];}return m;
}
int check(int mpn){for(int i=2;i<mpn;i++) if(mpn%i==0)return false; return true;
}int mpn_count(int mpn,int v[100],int n){int x=0;for(int i=1;i<=n;i++){ if(v[i]==mpn) x++;}return x;}int main(){ int n; cin>>n; int v[100]; for(int i=1;i<=n;i++)cin>>v[i];int j_once=1;
for(int i=1;i<=n;i++){ int mpn=maxim(v,n);
if(check(mpn)==true and j_once==1){
cout<<"Acest numar "<<mpn<<" apare in vector de "<<mpn_count(mpn,v,n); j_once=12; } else { v[p]=0; maxim(v,n); }
}}
using namespace std;
int p;int maxim(int v[100],int n){ int m=0;for(int i=1;i<=n;i++) if(v[i]>=m){p=i; m=v[i];}return m;
}
int check(int mpn){for(int i=2;i<mpn;i++) if(mpn%i==0)return false; return true;
}int mpn_count(int mpn,int v[100],int n){int x=0;for(int i=1;i<=n;i++){ if(v[i]==mpn) x++;}return x;}int main(){ int n; cin>>n; int v[100]; for(int i=1;i<=n;i++)cin>>v[i];int j_once=1;
for(int i=1;i<=n;i++){ int mpn=maxim(v,n);
if(check(mpn)==true and j_once==1){
cout<<"Acest numar "<<mpn<<" apare in vector de "<<mpn_count(mpn,v,n); j_once=12; } else { v[p]=0; maxim(v,n); }
}}
Alte întrebări interesante
Fizică,
8 ani în urmă
Biologie,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă