Copa Blue Bridge --- un número que no se puede comprar

El número que no puedes comprar para la Lanqiao Cup Zhenti

Teoría de los números

Límite de recursos Límite de
tiempo: 1,0 s Límite de memoria: 256,0 MB
Descripción del problema

Xiao Ming abrió una tienda de dulces. Es ingenioso: empaca los dulces de frutas en dos paquetes de 4 piezas y 7 piezas. Los caramelos no se pueden vender sin envasar.

Cuando un niño viene a comprar dulces, utiliza estos dos tipos de envases para combinar. Por supuesto, la cantidad de caramelos no se puede combinar, como 10 caramelos.

Puede probarlo con una computadora. En este caso de embalaje, la cantidad máxima no disponible es 17. Cualquier número mayor que 17 se puede combinar con 4 y 7.

El requisito de esta pregunta es encontrar el número más grande que no se pueda combinar cuando se conocen las cantidades de dos paquetes.

Formato de entrada

Dos números enteros positivos, que indican la cantidad de azúcar en cada paquete (no más de 1000)

Formato de salida

Un número entero positivo, que indica la cantidad máxima de azúcar que no se puede comprar.

Entrada de muestra 1

4 7

Salida de muestra 1

17

Entrada de muestra 2

3 5

Salida de muestra 2

7

(66%) código1:

#include<stdio.h>

int main()
{
    
    
	int m,n;
	scanf("%d %d",&m,&n);
	
	int min;
	int max;
	
	if(m>n){
    
    
		min=n;
		max=m;
	}else{
    
    
		min=m;
		max=n;
	}
	
	
	int ans=max-1;
	
	int arr[99999]={
    
    0};//足够大的数组先全部赋值为0;
	
	for(int r=1;r<=m*n-max+1;r++){
    
    //r用来控制问题的规模,从1开始
		for(int x=0;x<=r;x++){
    
    
			arr[m*x+n*(r-x)]=1;
		}
	}
	for(int xx=max+1;xx<=m*n;xx++){
    
    //xx用于控制m糖的数量,进而n糖数量为r-x;
		if(arr[xx]==0){
    
    
			ans=xx;
		}
	}
	printf("%d",ans);
	return 0;
}

Idea 1 : Lo que pensé fue que el número máximo que no se puede representar debe ser menor o igual que m * n;
(100%) código2:

#include<stdio.h>

using namespace std;

int main()
{
    
    
	int m,n;
	scanf("%d %d",&m,&n);
	printf("%d",(m*n-m-n));
	return 0;
}

** Pensamiento 2: Después de verificar, los dos números primos m, n no se pueden expresar como m x + n y (x, y son números naturales) ** El número máximo es:
(m * nmn) ; teoría de números Conocimiento, acumular , no hay manera.

Supongo que te gusta

Origin blog.csdn.net/timelessx_x/article/details/114702904
Recomendado
Clasificación