oj2798: la buena voluntad de las personas mayores: ¿Cuántas número

Hacer preguntas
al Descripción
Tadashi como dos tipos de números, un múltiplo de 7, un múltiplo de 17, lo que quería saber <= n que "no" como el número de cuántos?
Introducir
un número entero T (1 <= T <= 200), T GRUPO

Un número entero N, N (. 1 <= N <= 1e18)
la salida
N (incluyendo N) no es un múltiplo de 7, 17 dentro del número de
la muestra de la entrada
Raw
2
. 17
119
la muestrear la salida
sin procesar
14
96
no se dio cuenta cuando el número acaba de comenzar tema gama, utilizando el n-poligonal resuelto aparente a cabo cronometrado.
1e18 = 1 * 10 ^ 18
la solución correcta es el uso del número de n en 7 (a) y 17 (b), el método para encontrar el divisible número. Sin embargo, el intermedio 7 y 17 son llevados a un múltiplo común del número de recurrencia cruzada intermedia, es necesario encontrar el mínimo común múltiplo del número 7 y 17 (ab) de 总数sum=a+b-ab

código completa

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<math.h>
#include <stdlib.h>
using namespace std;
int main(void)
{
	int m;
	long long sum, a, b, ab,n;
	cin >> m;
	while (m--)
	{
		while (cin >> n)
		{
			a = n / 7;
			b = n / 17;
			ab = n / 119;//7*17
			sum = a + b - ab;
			cout << n - sum << endl;
		}
	}
	return 0;
}
Publicado 38 artículos originales · ganado elogios 27 · vistas 3189

Supongo que te gusta

Origin blog.csdn.net/qq_45891413/article/details/104824879
Recomendado
Clasificación