El cálculo descuidado de la cuarta Copa Blue Bridge en 2013 (base C)

【Título】

Xiao Ming es una persona impaciente. Cuando estaba en la escuela primaria, a menudo escribía mal las preguntas escritas en la pizarra por su maestro.

Una vez, la pregunta del profesor fue: 36 x 495 =?

Lo copió: 396 x 45 =?

¡Pero el resultado fue muy dramático, y su respuesta fue correcta! !

Porque 36 * 495 = 396 * 45 = 17820

Puede haber muchas coincidencias como esta, por ejemplo: 27 * 594 = 297 * 54

Suponga que abcde representa 5 números con números diferentes del 1 al 9 (tenga en cuenta que los números son diferentes y no incluyen 0)

¿Cuántos tipos de expresiones se pueden satisfacer: ab * cde = adb * ce?

Utilice la ventaja de la computadora para encontrar todas las posibilidades y responder el número de diferentes tipos de cálculo.

Los algoritmos que satisfacen la ley de conmutación de multiplicación se cuentan como tipos diferentes, por lo que la respuesta debe ser un número par.

Las respuestas se envían directamente a través del navegador.
Nota: solo envíe un número que indique el número de categoría estadística final y no envíe el proceso de respuesta u otro contenido redundante.

[Pensamiento] (Respuesta 142)

Un ciclo de cinco capas es suficiente. Tenga en cuenta que los elementos que satisfacen la ley de conmutación de multiplicación se registran como tipos diferentes, a saber, ab * cde = adb * ce y ce * abd = cde * ab se escriben como dos fórmulas, por lo que se puede calcular directamente .

1 #include <bits / stdc ++. H>
 2   usando el  espacio de nombres std;
3   int main () {
 4       int ans = 0 ;
5       para ( int a = 1 ; a <= 9 ; a ++ ) {
 6           para ( int b = 1 ; b <= 9 ; b ++ ) {
 7               if (b! = A) para ( int c = 1 ; c <= 9 ; c ++ ) {
 8                   if (c! = B && c! = A) para ( intd = 1 ; d <= 9 ; d ++ ) {
 9                       if (d! = a && d! = b && d! = c) for ( int e = 1 ; e <= 9 ; e ++ ) {
 10                           if (e! = a && e! = b && e! = c && e! = d) {
 11                               if ((a * 10 + b) * (c * 100 + d * 10 + e) == (a * 100 + d * 10 + b) * (c * 10 + e))
 12                                   ans ++ ;
13                           }
 14                       }
 15                  }
 16               }
 17           }
 18       }
 19       costo << años;
20   }

 

Supongo que te gusta

Origin www.cnblogs.com/taiga/p/12694276.html
Recomendado
Clasificación