Fix -h and add a README
This commit is contained in:
parent
dc54152489
commit
ae8a44553d
2 changed files with 37 additions and 2 deletions
35
README.md
Normal file
35
README.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
|
||||||
|
# Rust 3x+1
|
||||||
|
|
||||||
|
Simple tool to bruteforce 3x+1 for a second loop. Only takes positive numbers.
|
||||||
|
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
USAGE:
|
||||||
|
rust-3xp1.exe [OPTIONS]
|
||||||
|
|
||||||
|
OPTIONS:
|
||||||
|
-c, --count <COUNT> Number of times to try [default: 50000]
|
||||||
|
-d, --double-verbose Weather to output current number every step of 3x+1
|
||||||
|
-h, --help Print help information
|
||||||
|
-s, --start <START> Number to start at [default: 195147905179352825856]
|
||||||
|
-v, --verbose Weather to output current number each time
|
||||||
|
-V, --version Print version information
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Demo
|
||||||
|
|
||||||
|

|
||||||
|
## FAQ
|
||||||
|
|
||||||
|
#### What is 3x+1?
|
||||||
|
|
||||||
|
check out [this](https://youtu.be/094y1Z2wpJg) viceo by Veritasium
|
||||||
|
|
||||||
|
#### Why?
|
||||||
|
|
||||||
|
This hasn't left my brain since I saw the video, I wanted to mess around with a tool to brute force for a new loop.
|
||||||
|
|
|
@ -4,7 +4,7 @@ use tracing::{Level, instrument, event};
|
||||||
use tracing_subscriber;
|
use tracing_subscriber;
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
|
|
||||||
/// Simple program to greet a person
|
/// Simple tool to bruteforce 3x+1 for a second loop. Only takes positive numbers
|
||||||
#[derive(Parser, Debug)]
|
#[derive(Parser, Debug)]
|
||||||
#[clap(author, version, about, long_about = None)]
|
#[clap(author, version, about, long_about = None)]
|
||||||
struct Args {
|
struct Args {
|
||||||
|
@ -36,7 +36,7 @@ fn main() {
|
||||||
event!(Level::INFO, "Starting number: {}", args.start);
|
event!(Level::INFO, "Starting number: {}", args.start);
|
||||||
event!(Level::INFO, "Amount of numbers to try: {}", args.count);
|
event!(Level::INFO, "Amount of numbers to try: {}", args.count);
|
||||||
|
|
||||||
if args.verbose{
|
if args.verbose & !args.double_verbose{
|
||||||
for current_num in args.start..max_num{
|
for current_num in args.start..max_num{
|
||||||
event!(Level::INFO, "Processing {}", current_num);
|
event!(Level::INFO, "Processing {}", current_num);
|
||||||
let (smallest_num, largest_num) = txpo(current_num);
|
let (smallest_num, largest_num) = txpo(current_num);
|
||||||
|
|
Reference in a new issue