(Jizhong) divisible 2181. Frankie (div)

(Archivo IO): Entrada: div.in de salida: div.out
límite de tiempo: 1000 ms limitaciones de espacio: las restricciones específicas 131072 KB
Goto Boletín de problemas


Título Descripción
año de la cabra a la cabeza del pueblo comience a aprender a enseñar cordero PAG una s C una l Pascal idioma, aprendiendo las cuatro operaciones aritméticas. El alcalde escribió dos números enteros en el tablero dieciséis dieciséis y 3 3 , pidió el cordero que tienen dieciséis dieciséis ovejas, igualmente dividido en 3 3 pueblo ovejas, las ovejas población asignada a cada número debe ser el mismo, la distribución del número máximo es la cantidad? Cordero fue muy rápido en la respuesta, cada uno asignado a las ovejas pueblo 5 5 ratas tienen 1 1 ovejas sólo puede realizar pedidos para arriba. El alcalde escribió en la pizarra 5 5 . Sí, este es el re yo v div (divisible) el uso!
Con el fin de probar si dominaban la operación divisible cordero, el alcalde pidió cordero seleccionaron a cualquier número de dos pizarra diferente, un gran número divisible por un número decimal, si los resultados no están presentes en el tablero, se escribe el valor en en la pizarra. Número entero hasta que el cordero que no podría haber no visto antes.
A pesar de esta clase es el ejercicio de cordero su potencia de cálculo, pero el tiempo de clase limitado. Con el fin de controlar el tiempo de clase, el alcalde quiere saber, de acuerdo con cifras en la pizarra actual, el tiempo habrá un par de números en el tablero? Ahora te pido que ayuda a escribir un programa para calcular rápidamente!


Introduzca
la primera línea de un número entero norte norte , representa un número entero de que aparezca actuales en la pizarra.
La segunda línea norte norte números enteros, separados por espacios, que representa el número actual en el tablero, para garantizar que cada número es diferente.

Salida de
salida un número entero que representa el número de la pizarra digital final.


entrada de la muestra
[1] Ejemplo de entrada
2
16. 3

entrada de la muestra [2]
. 3
. 17. 1 2

Ejemplo de salida
[salida 1] Muestra
4

[2] Resultados de muestra
5


límite de rango de datos
50 50 % de los datos, norte < = 50 N <= 50 ;
100 100 % de los datos, norte < = 100 , 1 < = una yo < = 100 N <= 100,1 <= ai <= 100 .


Consejos
[Muestra 1 1 explicar]
la selección dieciséis dieciséis y 3 3 , escritura 5 5 ; selección 5 5 y 3 3 , escritura 1 1 , total dieciséis , 3 , 5 , 1 16,3,5,1 , cuatro números enteros.

Muestra 2 [explicar]
selección 17 17 y 2 2 , anote 8 8 , a continuación, seleccionar 8 8 y 2 2 , anote 4 4 ; total 17 2 8 4 1 17,2,8,4,1 , cinco números enteros.


La resolución de problemas ideas de
datos es pequeña, puede abrir el barril se produjo memoria digital, es posible enumerar violencia n ^ 2 x, y deriva de valor, el resultado una vez más en el cubo. Debido a que la x / y debe ser menor de x, es posible obtener un resultado, el recuento final todos los números.


código

#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>
#include<algorithm>
#include<iomanip>
#include<cmath>
using namespace std;
int n,a[105],f[105],ans;
int main(){
   freopen("div.in","r",stdin);
   freopen("div.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
        f[a[i]]=1;
    }
    for(int i=100;i>=1;i--)
    {
        if(f[i])
        {
           for(int j=i-1;j>=1;j--)
           if(f[j])
           f[i/j]=1;
        }
    }
    ans=0;
    for(int i=1;i<=100;i++)
        if(f[i]==1)
            ans++;
    printf("%d",ans);
}
Publicados 119 artículos originales · ganado elogios 8 · vistas 4901

Supongo que te gusta

Origin blog.csdn.net/kejin2019/article/details/105162432
Recomendado
Clasificación