{"id":15031371,"url":"https://github.com/hiimsergey/hundred-doors","last_synced_at":"2026-03-14T20:22:47.518Z","repository":{"id":219147750,"uuid":"748319767","full_name":"hiimsergey/hundred-doors","owner":"hiimsergey","description":"A tool for calculating and visualizing the '100 Doors' problem","archived":false,"fork":false,"pushed_at":"2024-11-13T16:58:26.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-27T05:53:37.605Z","etag":null,"topics":["cli","cli-app","math","mathematics","ncurses","ncurses-tui","rust","rust-lang","rust-practice","rust-programming","rust-programming-language","rustlang"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/hundred-doors","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hiimsergey.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-25T18:22:27.000Z","updated_at":"2024-08-29T16:25:30.000Z","dependencies_parsed_at":"2025-03-13T05:40:24.897Z","dependency_job_id":"b6858c1b-7897-4841-94f6-6c707f0c7dd7","html_url":"https://github.com/hiimsergey/hundred-doors","commit_stats":null,"previous_names":["hiimsergey/hundred_doors"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/hiimsergey/hundred-doors","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiimsergey%2Fhundred-doors","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiimsergey%2Fhundred-doors/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiimsergey%2Fhundred-doors/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiimsergey%2Fhundred-doors/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hiimsergey","download_url":"https://codeload.github.com/hiimsergey/hundred-doors/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiimsergey%2Fhundred-doors/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28038027,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-25T02:00:05.988Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","cli-app","math","mathematics","ncurses","ncurses-tui","rust","rust-lang","rust-practice","rust-programming","rust-programming-language","rustlang"],"created_at":"2024-09-24T20:15:32.428Z","updated_at":"2025-12-25T21:02:52.506Z","avatar_url":"https://github.com/hiimsergey.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 100 Doors\n\u003e Imagine a hundred closed doors in a corridor.\n\u003e You go and open every one of them.\n\u003e Then, you open every second one. (If the door was open, then just close it.)\n\u003e Then, every third. Then, every fourth and every fifth and so on until you only touch the 100th door.\n\u003e How many doors are open now?\n\nThis is a mathematical problem known as \"100 Doors\". I have written a smol\nprogram in Rust that calculates and visualizes the solution using\n[ncurses-rs](https://crates.io/crates/ncurses).\n\n```\nA simple program that calculates and visualizes the \"100 Doors\" problem\n\nUsage: hundred-doors [OPTIONS] [NUMBER]\n\nArguments:\n  [NUMBER]  How many doors there are [default: 100]\n\nOptions:\n  -d, --draw           Whether there should be a graphical representation of these doors\n  -e, --explain        Whether to explain the problem\n      --twave \u003cTWAVE\u003e  How many milliseconds to wait before the next wave [default: 0]\n      --tdoor \u003cTDOOR\u003e  How many milliseconds to wait between new doors [default: 0]\n  -h, --help           Print help\n  -V, --version        Print version\n```\n\n## Examples\n```\n$ hundred-doors 100\n\u003e 10\n```\n\n```\n$ hundred-doors 100 --draw --tdoor 10 --twave 50\n```\n\nYou'll see an \"animation\" of the respective doors. Here's a screenshot:\n\n![hundred-doors-screenshot](https://github.com/hiimsergey/hundred_doors/assets/91432388/4e5e72bb-333c-4c28-b46f-e6f5f1055ee8)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiimsergey%2Fhundred-doors","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhiimsergey%2Fhundred-doors","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiimsergey%2Fhundred-doors/lists"}