diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2009-04-26 13:27:56 +0200 |
---|---|---|
committer | Tobias Klauser <tklauser@distanz.ch> | 2009-04-26 13:27:56 +0200 |
commit | ac0f5eb7ebb98c19220b1ed7044c282d72b72845 (patch) | |
tree | e4f394441b57c49a21f52e03a791d62b4ddd0ab6 | |
parent | 24b4ce5139689426c05f6faeef33d2aa3987bf9c (diff) |
Added isprime script
-rw-r--r-- | Makefile | 2 | ||||
-rwxr-xr-x | isprime | 31 |
2 files changed, 32 insertions, 1 deletions
@@ -1,6 +1,6 @@ BINDIR = $(HOME)/bin -TARGETS = mkheader.py +TARGETS = mkheader.py isprime all: $(TARGETS) @echo "Nothing to be done" @@ -0,0 +1,31 @@ +#!/usr/bin/ruby + +def is_prime(n) + if n <= 2 + return true + elsif n.modulo(2) == 0 + return false + else + 3.step(Math.sqrt(n).ceil, 2) do |i| + if n.modulo(i) == 0 + return false + end + end + return true + end +end + +if ARGV.length < 1 + puts "Usage: isprime number [number...]" +else + ARGV.each do |n| + if n.to_i < 1 + puts "Negative numbers and 0 not allowed." + exit + elsif is_prime(n.to_i) + puts n.to_s + " is prime" + else + puts n.to_s + " is not prime" + end + end +end |