7 changed files with 22 additions and 171 deletions
@ -1,2 +0,0 @@ |
|||||
target |
|
||||
|
|
@ -1,130 +0,0 @@ |
|||||
[[package]] |
|
||||
name = "ansi_term" |
|
||||
version = "0.11.0" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
dependencies = [ |
|
||||
"winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
] |
|
||||
|
|
||||
[[package]] |
|
||||
name = "atty" |
|
||||
version = "0.2.8" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
dependencies = [ |
|
||||
"libc 0.2.39 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
"termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
"winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
] |
|
||||
|
|
||||
[[package]] |
|
||||
name = "bitflags" |
|
||||
version = "1.0.1" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
|
|
||||
[[package]] |
|
||||
name = "clap" |
|
||||
version = "2.31.2" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
dependencies = [ |
|
||||
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
"atty 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
"bitflags 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
"strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
"textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
"unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
"vec_map 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
] |
|
||||
|
|
||||
[[package]] |
|
||||
name = "libc" |
|
||||
version = "0.2.39" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
|
|
||||
[[package]] |
|
||||
name = "ratio" |
|
||||
version = "0.1.0" |
|
||||
dependencies = [ |
|
||||
"clap 2.31.2 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
] |
|
||||
|
|
||||
[[package]] |
|
||||
name = "redox_syscall" |
|
||||
version = "0.1.37" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
|
|
||||
[[package]] |
|
||||
name = "redox_termios" |
|
||||
version = "0.1.1" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
dependencies = [ |
|
||||
"redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
] |
|
||||
|
|
||||
[[package]] |
|
||||
name = "strsim" |
|
||||
version = "0.7.0" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
|
|
||||
[[package]] |
|
||||
name = "termion" |
|
||||
version = "1.5.1" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
dependencies = [ |
|
||||
"libc 0.2.39 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
"redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
"redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
] |
|
||||
|
|
||||
[[package]] |
|
||||
name = "textwrap" |
|
||||
version = "0.9.0" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
dependencies = [ |
|
||||
"unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
] |
|
||||
|
|
||||
[[package]] |
|
||||
name = "unicode-width" |
|
||||
version = "0.1.4" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
|
|
||||
[[package]] |
|
||||
name = "vec_map" |
|
||||
version = "0.8.0" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
|
|
||||
[[package]] |
|
||||
name = "winapi" |
|
||||
version = "0.3.4" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
dependencies = [ |
|
||||
"winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
"winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
|
||||
] |
|
||||
|
|
||||
[[package]] |
|
||||
name = "winapi-i686-pc-windows-gnu" |
|
||||
version = "0.4.0" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
|
|
||||
[[package]] |
|
||||
name = "winapi-x86_64-pc-windows-gnu" |
|
||||
version = "0.4.0" |
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index" |
|
||||
|
|
||||
[metadata] |
|
||||
"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" |
|
||||
"checksum atty 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "af80143d6f7608d746df1520709e5d141c96f240b0e62b0aa41bdfb53374d9d4" |
|
||||
"checksum bitflags 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b3c30d3802dfb7281680d6285f2ccdaa8c2d8fee41f93805dba5c4cf50dc23cf" |
|
||||
"checksum clap 2.31.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f0f16b89cbb9ee36d87483dc939fe9f1e13c05898d56d7b230a0d4dff033a536" |
|
||||
"checksum libc 0.2.39 (registry+https://github.com/rust-lang/crates.io-index)" = "f54263ad99207254cf58b5f701ecb432c717445ea2ee8af387334bdd1a03fdff" |
|
||||
"checksum redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "0d92eecebad22b767915e4d529f89f28ee96dbbf5a4810d2b844373f136417fd" |
|
||||
"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" |
|
||||
"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" |
|
||||
"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" |
|
||||
"checksum textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c0b59b6b4b44d867f1370ef1bd91bfb262bf07bf0ae65c202ea2fbc16153b693" |
|
||||
"checksum unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f" |
|
||||
"checksum vec_map 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "887b5b631c2ad01628bbbaa7dd4c869f80d3186688f8d0b6f58774fbe324988c" |
|
||||
"checksum winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3" |
|
||||
"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" |
|
||||
"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" |
|
@ -1,7 +0,0 @@ |
|||||
[package] |
|
||||
name = "ratio" |
|
||||
version = "0.1.0" |
|
||||
authors = ["Samuel Pua <kahkin@gmail.com>"] |
|
||||
|
|
||||
[dependencies] |
|
||||
clap = "2.31.2" |
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,22 @@ |
|||||
|
package main |
||||
|
|
||||
|
import "github.com/alecthomas/kingpin" |
||||
|
import "fmt" |
||||
|
import "math" |
||||
|
|
||||
|
func main() { |
||||
|
var ( |
||||
|
x = kingpin.Arg("x", "X value of the ratio").Required().Int64() |
||||
|
y = kingpin.Arg("y", "Y value of the ratio").Required().Int64() |
||||
|
) |
||||
|
kingpin.Parse() |
||||
|
|
||||
|
for i:=int64(2); i<=int64(math.Max(float64(*x), float64(*y))); i++ { |
||||
|
if (*x % i ==0) && (*y % i ==0) { |
||||
|
*x = *x / i |
||||
|
*y = *y / i |
||||
|
i = 1 |
||||
|
} |
||||
|
} |
||||
|
fmt.Println(*x,*y) |
||||
|
} |
@ -1,32 +0,0 @@ |
|||||
extern crate clap; |
|
||||
|
|
||||
use clap::{App, Arg}; |
|
||||
use std::cmp; |
|
||||
|
|
||||
fn main() { |
|
||||
let matches = App::new("Factorize numbers -- easy for getting aspect ratios").version("1.0") |
|
||||
.author("Samuel Pua <kahkin@gmail.com>") |
|
||||
.arg(Arg::with_name("x") |
|
||||
.help("X coordinate") |
|
||||
.required(true)) |
|
||||
.arg(Arg::with_name("y") |
|
||||
.help("Y coordinate") |
|
||||
.required(true)) |
|
||||
.get_matches(); |
|
||||
let mut x:i32 = matches.value_of("x").unwrap().parse().unwrap(); |
|
||||
let mut y:i32 = matches.value_of("y").unwrap().parse().unwrap(); |
|
||||
|
|
||||
let mut i:i32 = 2; |
|
||||
|
|
||||
while i <= cmp::max(x, y) { |
|
||||
if (x % i ==0) && (y % i ==0) { |
|
||||
x = x/i; |
|
||||
y = y/i; |
|
||||
i = 2; |
|
||||
} |
|
||||
else { |
|
||||
i+=1; |
|
||||
} |
|
||||
} |
|
||||
println!("X: {} Y: {}", x, y); |
|
||||
} |
|
Loading…
Reference in new issue