0 votos

Cómo comprobar si un número es divisible por otro número

Actualmente estoy creando un programa AppleScript que permite ver si el número introducido es divisible por otro número. El código que uso para ver si mi número es divisible por dos (creo) funciona bien:

set twoCheck to (round (myNumber / 2))
set twoCheck to (twoCheck * 2)
if twoCheck = myNumber then
    set twoCheck to true
else
    set twoCheck to false
end if

Para determinar si un número es divisible por tres, se suman todos los dígitos del número, y si la suma es divisible por tres, también lo es el número original. Uso este código para encontrar la suma de los dígitos del mi número:

set numString to (myNumber as string)
set numCount to (number of characters of numString)
set threeCheck to 0
set numSelect to 1
repeat numCount times
    set threeCheck to (threeCheck + (character numSelect of numString))
    set numSelect to (numSelect + 1)
end repeat

Este código funciona bien. Me imaginé que si utilizaba el mismo código para ver si mi número es divisible por dos y simplemente sustituía el dos por tres, se ejecutaría sin problemas y me diría si la suma de los dígitos es divisible por tres. Sin embargo, este no es el caso. Siempre devuelve "verdadero" o "falso", y casi nunca es preciso.

Tal vez esto es súper obvio, y me disculpo, pero estoy perplejo aquí. Tened en cuenta que quiero encontrar si el número que introduzco es divisible por cualquier número, no sólo por el número tres (aunque en este caso sí quiero encontrar si es divisible por tres, pero en otras palabras, este código tiene que ser ampliable a otros números).

Soy bastante nuevo en AppleScript y sería genial si pudiera recibir ayuda en esto. Gracias.

1voto

john Puntos 11

Los números no funcionan así. Lo siento. Hay una función que hace exactamente lo que quieres pero no sé si está disponible en Apple script. La función se llama mod. Sé que está disponible en Python. La función funciona así. introduce 2 números en la función mod. Un ejemplo es mod(12,2). lo que se pide es 12 divisible por 2. así que podría tener mod(14,2) mod(6894381,2). si el número es divisible por 2 la función es cero. De lo contrario, es el resto de la división como si lo hicieras tú mismo. Esto también funciona para cualquier número. mod(12,3) te dice si 12 es divisible por 3. mod(27,3) = 0, mod(26,3) = 2. así que mod(300,50) es cero porque 300 es divisible por 50.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X