Функция Bash, которая гарантирует, что число (n) делится на два других числа (x) и (y) - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь решить следующие ката из кодовых войн ( ссылка ). Но я продолжаю получать следующую ошибку: expected: "false" got: "".

Так что почему-то мне не хватает аргументов или чего-то, или, может быть, я не вернусь правильно?

Инструкция:

# Create a function isDivisible(n, x, y) that checks if a number n is 
# divisible by two numbers x AND y. All inputs are positive, non-zero 
# digits.

# Expected output:
isDivisible(12,2,6)--> true because 12 is divisible by 2 and 6
isDivisible(100,5,3)--> false because 100 is not divisible by 3

Мой сценарий:

#!/bin/bash

function isDivisible () {
  if [ $(1 / 2) ] && [ $(1 / 2) ]
  then
    echo "true"
  else
    echo "false"
  fi
}

1 Ответ

0 голосов
/ 27 апреля 2018

Используйте оператор по модулю % и проверьте остаток. Если его 0, то число делится.

#!/bin/bash

isDivisible() {
    if (($1 % $2 == 0 && $1 % $3 == 0)); then
        echo "true"
    else
        echo "false"
    fi
}
$ isDivisible 12 2 6
true

$ isDivisible 100 5 3
false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...