que - ¿Cómo se verifica si un número es divisible por otro número(Python)?
programa que muestre los divisores de un numero en java (9)
Este código parece hacer lo que estás pidiendo.
for value in range(1,1000):
if value % 3 == 0 or value % 5 == 0:
print(value)
O algo así como
for value in range(1,1000):
if value % 3 == 0 or value % 5 == 0:
some_list.append(value)
O cualquier cantidad de cosas
Necesito comprobar si cada número del 1 al 1000 es un múltiplo de 3 o un múltiplo de 5. La forma en que pensé que haría esto sería dividir el número por 3, y si el resultado es un entero, entonces lo haría ser un múltiplo de 3. Lo mismo con 5.
¿Cómo pruebo si el número es un número entero?
Aquí está mi código actual:
n = 0
s = 0
while (n < 1001):
x = n/3
if isinstance(x, (int, long)):
print ''Multiple of 3!''
s = s + n
if False:
y = n/5
if isinstance(y, (int, long)):
s = s + n
print ''Number: ''
print n
print ''Sum:''
print s
n = n + 1
La forma más simple es probar si un número es un entero es int(x) == x
. De lo contrario, lo que dijo David Heffernan.
Para números pequeños, n%3 == 0
estará bien. Para números muy grandes, propongo calcular primero la suma cruzada y luego verificar si la suma cruzada es un múltiplo de 3:
def is_divisible_by_3(number):
if sum(map(int, str(number))) % 3 != 0:
my_bool = False
return my_bool
Prueba esto ...
public class Solution {
public static void main(String[] args) {
long t = 1000;
long sum = 0;
for(int i = 1; i<t; i++){
if(i%3 == 0 || i%5 == 0){
sum = sum + i;
}
}
System.out.println(sum);
}
}
Puede usar % operador para verificar la divisibilidad de un número determinado
El código para verificar si se da no. es divisible por 3 o 5 cuando no. menos de 1000 se da a continuación:
n=0
while n<1000:
if n%3==0 or n%5==0:
print n,''is multiple of 3 or 5''
n=n+1
Simplemente puede usar el operador %
Modulus para verificar la divisibilidad.
Por ejemplo: n % 2 == 0
significa n es exactamente divisible por 2 y n % 2 != 0
significa n no es exactamente divisible por 2.
Usted hace esto usando el operador de módulo, %
n % k == 0
evalúa verdadero si y solo si n
es un múltiplo exacto de k
. En matemáticas elementales, esto se conoce como el resto de una división.
En su enfoque actual, realiza una división y el resultado será cualquiera
- siempre un entero si usa división entera, o
- siempre un flotador si usa la división de punto flotante.
Es la forma incorrecta de probar la divisibilidad.
Yo tenía el mismo enfoque. Porque no entendí cómo usar el operador del módulo (%).
6% 3 = 0 * Esto significa que si divide 6 por 3 no tendrá un resto, 3 es un factor de 6.
Ahora tiene que relacionarlo con su problema dado.
si n% 3 == 0 * Esto está diciendo, si mi número (n) es divisible por 3 dejando un resto de 0.
Agregue su declaración luego (imprimir, devolver) y continúe
plantilla jinja2 fizzbuz:
<form>
<ol>
{% for x in range(1,n+1) %}
{% set fizzbuzz_rpm = x %}
{% if x % 3 == 0 and x % 5 == 0 %}
{% set fizzbuzz_rpm="FizzBuzz" %}
{% elif x % 3 == 0 %}
{% set fizzbuzz_rpm="Fizz" %}
{% elif x %5 == 0 %}
{% set fizzbuzz_rpm="Buzz" %}
{% endif %}
<li>{{fizzbuzz_rpm}}</li>
{% endfor %}
</ol>
</form>