Descripción del título
Si el cuadrado de un número K se multiplica por N, el número de dígitos al final del resultado es igual a K, entonces este número se llama "número N-autónomo".
Por ejemplo, × 92. 3 2 = 25392, y 25392 del final 92 son solo dos, por lo que el número 92 es un 3 sobrio.
Esta pregunta le pide que escriba un programa para juzgar si un número dado es un número N-autónomo con respecto a un cierto N.
Formato de
entrada La entrada da un entero positivo M en la primera línea, y la
siguiente línea da M enteros positivos para ser detectados y no más de 1000.
Formato de salida
, si es N- Número automático por cada salida digital a detectar en la fila N y un mínimo de valores NK 2 , separados por un espacio; en caso contrario la salida No
.
Ejemplo de entrada
3
92 5233
Salida de muestra
3 25392
1 25
No
Rango de datos
N <10, M <20
respuesta:
#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;
}