Proposal: 1) Number (integer or decimal) to Array 2) Array to Number (integer or decimal)

guest271314 guest271314 at gmail.com
Thu Mar 7 21:04:44 UTC 2019


The original motivation was trying to solve OEIS A217626 directly, that is,
without generating all of the permutations, specifically, using only a
multiple of 9 directly. See proposal at


> Ability to adjust *nth* digit of an integer or decimal by adjusting
> decimal or integer at *nth* index of array, to try to solve OEIS A217626
> oeis.org/A217626 directly, for example
> ~~(128.625*9*1.074)//1243
> ~~(128.625*9*1.144)//1324
> where the decimal portion can be manipulated by referencing the index of
> an array, then converting the array back to a number.


On Thu, Mar 7, 2019 at 8:42 PM guest271314 <guest271314 at gmail.com> wrote:

>
>
> ---------- Forwarded message ---------
> From: guest271314 <guest271314 at gmail.com>
> Date: Thu, Mar 7, 2019 at 8:35 PM
> Subject: Proposal: 1) Number (integer or decimal) to Array 2) Array to
> Number (integer or decimal)
> To: <es-discuss at mozilla.org>
>
>
> Original concept: Integer or decimal to array and array to decimal or
> integer https://codegolf.meta.stackexchange.com/a/17223
>
> Proof of concept (with bugs)
>
> function numberToArray(n) {
>
>   if (Math.abs(n) == 0 || Math.abs(n) == -0) {
>     return [n]
>   }
>
>   const r = [];
>
>   let [
>     a, int = Number.isInteger(a), d = g = [], e = i = 0
>   ] = [ n || this.valueOf()];
>
>   if (!int) {
>     let e = ~~a;
>     d = a - e;
>     do {
>       if (d < 1) ++i;
>       d *= 10;
>     } while (!Number.isInteger(d));
>   }
>
>   for (; ~~a; r.unshift(~~(a % 10)), a /= 10);
>
>   if (!int) {
>     for (; ~~d; g.unshift(~~(d % 10)), d /= 10);
>     g[0] = g[0] * (1 * (10 ** -i))
>     r.push(...g);
>   }
>
>   return r;
> }
> function arrayToNumber(a) {
>   if ((Math.abs(a[0]) == 0 || Math.abs(a[0]) == -0)
>      && a.length == 1) return a[0];
>   const [
>     g, r = x => x.length == 1
>                 ? x[0]
>                 : x.length === 0
>                   ? x
>                   : x.reduce((a, b) => a + b)
>     , b = a.find(
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20190307/565d7163/attachment-0001.html>


More information about the es-discuss mailing list