{"id":15346726,"url":"https://github.com/centic9/multiplicativedigitalroot","last_synced_at":"2026-03-27T02:11:32.871Z","repository":{"id":56561224,"uuid":"212621947","full_name":"centic9/MultiplicativeDigitalRoot","owner":"centic9","description":"This project plays with the mathematical topics of \"Multiplicative digital roots\" and \"Multiplicative Persistence\"","archived":false,"fork":false,"pushed_at":"2025-06-27T06:42:37.000Z","size":245,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-27T07:41:35.714Z","etag":null,"topics":["bigintegers","digits","mathematics","multiplication"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/centic9.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-03T16:06:48.000Z","updated_at":"2025-06-27T06:42:40.000Z","dependencies_parsed_at":"2023-02-09T20:46:21.538Z","dependency_job_id":null,"html_url":"https://github.com/centic9/MultiplicativeDigitalRoot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/centic9/MultiplicativeDigitalRoot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centic9%2FMultiplicativeDigitalRoot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centic9%2FMultiplicativeDigitalRoot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centic9%2FMultiplicativeDigitalRoot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centic9%2FMultiplicativeDigitalRoot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/centic9","download_url":"https://codeload.github.com/centic9/MultiplicativeDigitalRoot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centic9%2FMultiplicativeDigitalRoot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265365667,"owners_count":23753375,"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","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":["bigintegers","digits","mathematics","multiplication"],"created_at":"2024-10-01T11:26:20.071Z","updated_at":"2026-03-27T02:11:27.845Z","avatar_url":"https://github.com/centic9.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/centic9/MultiplicativeDigitalRoot.svg)](https://travis-ci.org/centic9/MultiplicativeDigitalRoot) \n[![Gradle Status](https://gradleupdate.appspot.com/centic9/MultiplicativeDigitalRoot/status.svg?branch=master)](https://gradleupdate.appspot.com/centic9/MultiplicativeDigitalRoot/status)\n\nThis project plays with the mathematical topics of \"Multiplicative digital roots\" and \n\"Multiplicative Persistence\", see https://en.wikipedia.org/wiki/Multiplicative_digital_root and \nhttps://en.wikipedia.org/wiki/Persistence_of_a_number for more information.\n\nIt determines the smallest number for each multiplicative persistence using Java and BigInteger or byte-arrays, \nexploring limits of handling large numbers with BigIntegers and comparing performance to other approaches.\n\n## Theory\n\nThere is a conjecture that there is no multiplicative persistence of a number higher than 11\n\nSee https://oeis.org/A007954 and https://oeis.org/A003001 for related mathematical series\n\nMore information on this topic:\n* https://de.wikipedia.org/wiki/Querprodukt (German)\n* https://www.spektrum.de/kolumne/behaglich-beharrliche-berechnungen/1643996 (German)\n* https://arxiv.org/abs/1307.1188\n* http://mathworld.wolfram.com/MultiplicativePersistence.html\n* http://neilsloane.com/doc/persistence.html\n* http://web.archive.org/web/20050214141815/http://www.wschnei.de/digit-related-numbers/persistence.html\n* https://www.youtube.com/watch?v=Wim9WJeDTHQ\n* http://www41.homepage.villanova.edu/robert.styer/MultiplicativePersistence/PersistenceStephPerezJournalArtAug2013.pdf\n* http://markdiamond.com.au/download/joous-3-1-1.pdf\n* https://www.tandfonline.com/doi/abs/10.1080/10586458.2014.910849\n* https://www.linkedin.com/pulse/calculating-multiplicative-persistence-efficiently-cecil-westerhof/?trk=public_profile_article_view\n* https://opensourc.es/blog/persistence/\n\n## Code\n\nThis project currently implements two ways of computing the multiplicative persistence of \nnumbers.\n\nThe first version at `MultiplicativeDigitalRoot` uses Strings and BigIntegers to handle large numbers, but this is\nobviously rather inefficient and limits the number of checks that can be performed.\n\nThe second version at `MultiplicativeDigitalRootByteArray` represents the digits of the number in a byte-array which\nallows to perform some of the operations much quicker. It also optimizes incrementing the number a lot to check\nmuch less numbers and skip large sections of numbers that are not relevant anyway.\n\nThe third version at `MultiplicativeDigitalRootClass` is similar to the previous one but \nextracts code into a class `ByteArrayInteger` which encapsulates the handling of \n\n## Change it\n\n### Grab it\n\n    git clone https://github.com/centic9/MultiplicativeDigitalRoot.git\n\n### Build it and run tests\n\n    cd MultiplicativeDigitalRoot\n    ./gradlew check jacocoTestReport\n\n#### Licensing\n* MultiplicativeDigitalRoot is licensed under the [BSD 2-Clause License].\n\n[BSD 2-Clause License]: https://www.opensource.org/licenses/bsd-license.php\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcentic9%2Fmultiplicativedigitalroot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcentic9%2Fmultiplicativedigitalroot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcentic9%2Fmultiplicativedigitalroot/lists"}