Talk:Deceptive numbers

From Rosetta Code
Revision as of 00:11, 27 September 2023 by Petelomax (talk | contribs) (nine entries)

Since the repunit ends in 1 5 can not be a factor of n--Nigel Galloway (talk) 11:44, 12 February 2022 (UTC)

Since the repunit is odd, 2 cannot be a factor of n. And because the digit sum of the repunit is n - 1, 3 cannot be a factor of n (an integer is divisible by 3, if its digit sum is divisible by 3, but n - 1 and n cannot both be divisible by 3).
All non-primes below 72 are divisible by 2, 3, or 5. So it is sufficient to start the search at 49. --Querfeld (talk) 14:01, 24 September 2023 (UTC)

Regarding the repunit Rn-1, the equation Rn-1 * 9 = 10n-1 - 1 is fulfilled. And if it is ensured, that n is not divisible by 3, then if Rn-1 * 9 is divisible by n, also Rn-1 is divisible by n. In that case, the check of Rn-1 mod n = 0 can be simplified to 10n-1 mod n = 1, which can be calculated via modular exponentiation, so that big integers are not required for this task.

Yep, that certainly works! (actually nine entries were already doing just that last year) --Petelomax (talk) 23:52, 26 September 2023 (UTC)

With the wp:Fermat primality test being an-1 mod n = 1, where gcd(a, n) = 1, it becomes obvious, that the deceptive numbers are a subset of the Fermat pseudoprimes to base a = 10, with the multiples of 3 filtered out (10x - 1 already rules out the multiples of 2 and 5). --Querfeld (talk) 19:09, 26 September 2023 (UTC)