Description du titre
Si le carré d'un nombre K est multiplié par N, le nombre de chiffres à la fin du résultat est égal à K, alors ce nombre est appelé "nombre N-autonome".
Par exemple, × 92. 3 2 = 25392, et 25392 de la fin 92 est juste deux, donc le nombre 92 est un 3 sobre.
Cette question vous demande d'écrire un programme pour juger si un nombre donné est un nombre N-autonome par rapport à un certain N.
Format d'
entrée L' entrée donne un entier positif M dans la première ligne, et la
ligne suivante donne M entiers positifs à détecter et pas plus de 1000.
Format de sortie
, s'il s'agit de N- Numéro automorphique pour chaque sortie numérique à détecter dans la ligne N et un minimum de NK 2 valeurs, séparés par un espace; sinon, la sortie No
.
Exemple d'entrée
3
92 5233
Exemple de sortie
3 25392
1 25
Non
Plage de données
N <10, M <20
réponse:
#include <iostream>
using namespace std;
bool check(int N, int K)
{
int d = 1;
while(d < 1e6)
{
if(N * K * K % d == K) return true;
d *= 10;
}
return false;
}
int main()
{
int K, M;
cin >> M;
while(M --)
{
cin >> K;
bool flag = false;
for (int N = 1; N < 10; N ++)
if(check(N, K))
{
flag = true;
cout << N << ' ' << N * K * K << endl;
break;
}
if(!flag) cout << "No" << endl;
}
return 0;
}