Informatică, întrebare adresată de simonlupascu78, 8 ani în urmă

cifre005 pb info va rooooog repedeee

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

#include <iostream>

#include <string.h>

using namespace std;

int main()

{

   int n, r, i, ap=0, cif, suma, j, len;

   char s[20];

   cin >> n >> r;

   for (i=1; i<=n; ++i)

   {

       cin >> s;

       suma=0; len=strlen(s);

       for (j=0; j<len; ++j )

       {

           cif=s[j]-'0';

           suma+=cif;

       }

       if (suma%9==r) ++ap;

   }

   cout << ap << endl;

   return 0;

}

Explicație:

am realizat citind numerele ca nişte şiruri de caractere, ca algoritmul să poată fi realitat pentru numere de lungime mare


boiustef: evident se poate realiza cu long long
simonlupascu78: poti sa o faci si cu long long ?
simonlupascu78: ca nu prea inteleg..
boiustef: #include < iostream>
using namespace std;
int main()
{
int n, i, r, ap=0;
long long num;
cin >> n >> r;
for (i=1; i <=n; ++i)
{
cin >> num;
if ((num-r)%9==0) ++ap;
}
cout << ap;
}
boiustef: fie num=abc, un numar de 3 cifre, at. num=100a+10b+c=99a+9b+(a+b+c). La aceasta suma primii 2 termeni sunt divizibili prin 9, iar ultimul termen este suma cifrelor. Si deci restul (num-r)%9 =(a+b+c-r)%9
boiustef: Dacă eşti prieten cu mate, cred vei înţelege argumentarea... Am ajuns la această variantă deoarece cu sumarea cifrelor cu
while (num)
{ suma+=num%10; num/=10; }
obţineam la ultimul test Depăşire, deaceea se cerea o argumentare matematică. Nu mi-am dat seama să mă uit la soluţia oficială, doar aveam acces la ea... :)))
Răspuns de pmarian98
0

Răspuns:

#include <iostream>

using namespace std;

long long n,i,r,x,nr;  

int main()

{

cin >> n >> r ;

nr = 0 ;

for ( i=1 ; i<=n ; i++ )

{

cin >> x ;

if ( x % 9 == r ) nr++ ;

}

cout << nr ;

return 0;

}


pmarian98: #include
using namespace std;
int main()
{
int r,k=0,n,j,S;
char s[20];
cin>>n>>r;
for(int i=0;i {
cin>>s;
S=0;
j=0;
while(s[j]>='0' && s[j]<='9')
{
S=S+(s[j]-48);
j++;
}
if(S%9==r)
k=k+1;
}
cout< return 0;
}
pmarian98: //ideea mea, prima a fost varianta oficiala
boiustef: am observat....
Alte întrebări interesante