Salut! Am nevoie de ajutor la niste probleme.
Am nevoie ca probleme 3667, 108 127 si 3246 de pe pbinfo sa fie rezolvate cu subprograme. Va rog mult sa ma ajutati!
Rezolvare C++;
Răspunsuri la întrebare
Salut!
Ai rezolvarile in C++ mai jos
3667.
#include <iostream>
using namespace std;
int cifmax(int n)
{
int max = -1;
do
{
int c = n % 10;
if (c > max)
{
max = c;
}
n /= 10;
}
while (n != 0);
return max;
}
int main()
{
int n, cnt = 0;
cin >> n;
for (int i = 1; i <= n; ++i)
{
int x;
cin >> x;
if (cifmax(x) % 2 == 1)
{
cnt++;
}
}
cout << cnt;
return 0;
}
108.
#include <iostream>
using namespace std;
int pc(int n)
{
while (n > 9)
{
n /= 10;
}
return n;
}
int main()
{
int n;
cin >> n;
int prima_cifra, cnt = 0;
if(n == 0)
cout << 1;
else{
prima_cifra = pc(n);
while(n > 0){
if(n % 10 == prima_cifra)
cnt++;
n/=10;
}
cout << cnt;
}
return 0;
}
127.
#include <iostream>
using namespace std;
int pc(int n)
{
while (n > 9)
{
n /= 10;
}
return n;
}
int main()
{
int n, s = 0;
cin >> n;
for (int i = 1; i <= n; ++i)
{
int x;
cin >> x;
s += pc(x);
}
cout << s;
return 0;
}
3246.
#include <iostream>
using namespace std;
int nrcif(int n)
{
int cnt = 0;
while (n)
{
cnt++;
n /= 10;
}
return cnt;
}
int cifpar(int n)
{
int cnt = 0;
while (n)
{
int c = n % 10;
if (c % 2 == 0)
{
cnt++;
}
n /= 10;
}
return cnt;
}
int cifimp(int n)
{
int cnt = 0;
while (n)
{
int c = n % 10;
if (c % 2 != 0)
{
cnt++;
}
n /= 10;
}
return cnt;
}
int main()
{
int a, b;
cin >> a >> b;
long long s = 0;
for (int i = a; i <= b; ++i)
{
if ((nrcif(i) % 2 == 0) && (cifpar(i) == cifimp(i)))
{
s += i;
}
}
cout << s;
return 0;
}