PAT Grado B-N-número autónomo

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;
}

Supongo que te gusta

Origin blog.csdn.net/weixin_46239370/article/details/113867259
Recomendado
Clasificación