Tak więc dla 6 sprawdzam czy suma cyfr jest podzielna przez 6, dla 8 czy liczba jest podzielna przez 11, a dla 343 czy jest podzielna przez 1000.
Tutaj kod:
Kod: Zaznacz cały
#include <iostream>
#include <string>
using namespace std;
int main()
{
int t;
cin>>t;
bool wynik6[t],wynik8[t],wynik343[t],czy_parzysta;
string liczba;
long long int suma,roznica,d;
for (int c=0;c<t;c++){
suma=0;roznica=0;
cin>>liczba;
for (d=0;d<liczba.length();d++){
suma+=liczba[d]-48;
if(liczba.length()%2==0)
czy_parzysta=1;
else czy_parzysta=0;
if(czy_parzysta==1){
if(d%2==0)
roznica+=liczba[d]-48;
else roznica-=liczba[d]-48;
}
else{
if(d%2==0)
roznica-=liczba[d]-48;
else roznica+=liczba[d]-48;
}
//cout<<roznica<<endl;
}
if(suma%6==0)
wynik6[c]=1;
else wynik6[c]=0;
if(roznica%11==0)
wynik8[c]=1;
else wynik8[c]=0;
int dlugosc=liczba.length();
if(liczba[dlugosc-1]=='0' && liczba[dlugosc-2]=='0' && liczba[dlugosc-3]=='0' or liczba[0]=='0')
wynik343[c]=1;
else wynik343[c]=0;
}
int e=0;
for (e;e<t-1;e++){
if (wynik6[e]==1)
cout<<"TAK ";
else cout<<"NIE ";
if (wynik8[e]==1)
cout<<"TAK ";
else cout<<"NIE ";
if (wynik343[e]==1)
cout<<"TAK\n";
else cout<<"NIE\n";
}
e=t-1;
if (wynik6[e]==1)
cout<<"TAK ";
else cout<<"NIE ";
if (wynik8[e]==1)
cout<<"TAK ";
else cout<<"NIE ";
if (wynik343[e]==1)
cout<<"TAK";
else cout<<"NIE";
return 0;
}