[seqfan] Re: I need a name for this sequence

Maximilian Hasler maximilian.hasler at gmail.com
Fri Jun 10 17:58:26 CEST 2011


apologies for re-posting, but

is_abc(N)={fordiv(N,c,c*c>N&return;c>1&fordiv(N-c,a,(a+(N-c)/a)*c==N&return(1)))}

is over 250 times faster, for N=1..9999
The "a>(N-c)/a & break" gave a significant speedup only in the other version.

One can also prove that always a>c.
(Assume a<=c, then N = ab+c <= cb+c < c(b+a) = N, impossible.)
(But adding this test in the inner loop seems not to give a
significant speedup.)

Maximilian


On Fri, Jun 10, 2011 at 11:09 AM, Maximilian Hasler
<maximilian.hasler at gmail.com> wrote:
> I agree with David on the missing requirement
> to exclude the "trivial" decomposition (1,N-1,1) for any N.
> (For example, to require c>1 is enough).
>
> So the definition of the sequence could be :
>
> Numbers N such that N=(a+b)*c=a*b+c for some a,b,c>1.
>
> and a more "playful" characterization would be to speak about exchange
> of + and * in the expression (a+b)*c.
>
> PARI code:
>
> is_abc(N)={for(c=2,N-2,fordiv(N-c,a,a>(N-c)/a&break;(a+(N-c)/a)*c==N&return(1)))}
>
> for(N=1,1999,is_abc(N)&print1(N","))
>
> Maximilian
>
>
>
>
> On Fri, Jun 10, 2011 at 9:45 AM, Vladimir Shevelev <shevelev at bgu.ac.il> wrote:
>>
>> An infinite set of  even N given by formula 8*u*v*(4*u*v^2+4*u*v+u-v) in view of the identity:
>> if x=4*u*v+2*u, y=8*u*v^2+4*u*v-2*v, z=4*u*v, then N=(x+y)z=xy+z.
>>
>> Regards,
>> Vladimir
>>
>>
>> ----- Original Message -----
>> From: Jose Miguel Ortiz Rodriguez <josemortiz at yahoo.com>
>> Date: Friday, June 10, 2011 9:26
>> Subject: [seqfan] Re: I need a name for this sequence
>> To: Sequence Fanatics Discussion list <seqfan at list.seqfan.eu>
>>
>>> Looks similar to the precedence rules for boolean numbers:
>>>
>>> Boolean Precedence:
>>> AB = A·B
>>> A·B+C = (A·B) + C
>>> A+B·C = A + (B·C)
>>>
>>> Your series seems to treat the numbers in a similar way to the
>>> boolean definition of De Morgan's Theorem, in the sense of
>>> (A*B+C)'=(A'+B')*C' {and then both =N in your case} or something
>>> like that.
>>>
>>> It's been a long time since my college years and my digital
>>> circuits theory courses, so this example that I wrote may be
>>> wrong. But I do remember something about flipping the *'s by the
>>> +'s directly when boolean negation was in the equation in order
>>> to keep the equality in the logic circuit while using different
>>> gates for the implementation. This would be like your equivalent
>>> 'digital' output N in this case.
>>>
>>> Obviously you are not working just with 0's and 1's in your
>>> algorithm, but maybe looking at it from the variables point of
>>> view, there could be some relationship, at least to help you
>>> come up with a name for it. Hope it helps :-)
>>>
>>>
>>> --- On Thu, 6/9/11, David Wilson <davidwwilson at comcast.net> wrote:
>>>
>>>
>>> From: David Wilson <davidwwilson at comcast.net>
>>> Subject: [seqfan] Re: I need a name for this sequence
>>> To: "Sequence Fanatics Discussion list" <seqfan at list.seqfan.eu>
>>> Date: Thursday, June 9, 2011, 6:38 PM
>>>
>>>
>>> If you allow a, b, c nonnegative, then (a, b, c) = (0, 1, N)
>>> implies every N >= 0 is one of your numbers.
>>>
>>> If you require a, b, c positive, then (a, b, c) = (1, N-1, 1)
>>> implies every N >= 2 is one of your numbers.
>>>
>>> Perhaps you meant to require a, b, c >= 2. This seems to
>>> generate the numbers you seek.
>>>
>>> I'm supposing this is the correct constraint, and that your list
>>> below is meant to list all elements up
>>> to 10000. In that case, your list is incomplete. The first
>>> missing element I found was:
>>>
>>>     1694 = (16+105)*14 = (16*105)+14
>>>
>>> My Perl program below:
>>>
>>> my $N = 10000;
>>> my %seen = ();
>>> for (my $b = 2; 2*($b+1) <= $N; $b++) {
>>> print "b = $b\n";
>>>     my $v = $b*($b-1);
>>>     for (my $d = $b+1; $d <= $v; $d++) {
>>>         next if $v%$d;
>>>         my $a = ($d-$b+1);
>>>         last if $a > $b;
>>>         my $c = ($a*$b)/$d;
>>>         my $k = $a*$b+$c;
>>>         next if $k > $N;
>>>         $seen{$k} = 1;
>>>     }
>>> }
>>> my @k = sort {$a <=> $b} keys %seen;
>>> print map("$_\n", @k);
>>>
>>> generates the hopefully complete list
>>>
>>> 14 33 39 60 64 84 95 110 138 150 155 174 189 217 248 258 259 272
>>> 315 324 360 368
>>> 390 399 405 410 430 473 504 530 539 564 584 624 663 670 732 754
>>> 770 819 852 854
>>> 869 885 897 915 1005 1008 1024 1053 1056 1065 1104 1110 1120
>>> 1139 1155 1248 1278
>>> 1292 1360 1378 1422 1425 1463 1536 1545 1580 1615 1674 1694 1743
>>> 1760 1785 1802
>>> 1806 1840 1869 1884 1914 1919 1974 2002 2055 2093 2134 2280 2289
>>> 2369 2379 2420
>>> 2464 2475 2478 2500 2538 2544 2574 2625 2678 2751 2780 2794 2800
>>> 2889 2924 2945
>>> 2954 2990 2997 3000 3108 3164 3171 3248 3267 3302 3325 3335 3438
>>> 3472 3504 3570
>>> 3615 3668 3770 3807 3813 3885 3900 3990 4009 4064 4172 4309 4323
>>> 4368 4375 4422
>>> 4488 4544 4560 4590 4640 4710 4779 4788 4794 4862 4865 4884 5100
>>> 5115 5134 5148
>>> 5184 5219 5220 5249 5264 5334 5439 5478 5495 5508 5580 5640 5709
>>> 5738 5760 5915
>>> 6045 6094 6142 6154 6156 6174 6272 6279 6325 6330 6336 6360 6422
>>> 6480 6640 6683
>>> 6760 6798 6804 6825 6913 6923 6965 6972 7014 7120 7170 7239 7289
>>> 7353 7488 7544
>>> 7685 7700 7824 7843 7854 7857 7956 7960 7995 8055 8145 8184 8235
>>> 8299 8370 8418
>>> 8420 8520 8547 8624 8645 8708 8786 8789 8800 8874 8880 9090 9168
>>> 9282 9324 9405
>>> 9430 9555 9604 9723 9810 9840 9847 9854 9917 9950
>>>
>>> On 6/9/2011 4:39 PM, Claudio Meller wrote:
>>> > Take a,b and c with a<b and a<>b,  b<>c
>>> >
>>> > I search for numbers N such N = (a+b) x c = (axb) + c
>>> >
>>> > For example :
>>> > a    b   c     N
>>> > (3 , 4 , 2) = 14
>>> > (5 , 6 , 3) = 33
>>> > (4 , 9 , 3) = 39
>>> >
>>> >
>>> > Sequence :
>>> > 14, 33, 39, 60, 64, 84, 95, 110, 138, 150, 155, 174, 189, 217,
>>> 248, 258,
>>> > 259, 272, 315, 324, 360, 368, 390, 399, 405, 410, 430, 473,
>>> 504, 530, 539,
>>> > 564, 584, 624, 663, 670, 732, 754, 770, 819, 852, 854, 869,
>>> 885, 897, 915,
>>> > 1005, 1008, 1024, 1053, 1056, 1065, 1104, 1110, 1120, 1139,
>>> 1155, 1248,
>>> > 1278, 1292, 1360, 1378, 1422, 1425, 1536, 1545, 1580, 1615,
>>> 1674, 1743,
>>> > 1760, 1785, 1802, 1806, 1840, 1869, 1914, 1919, 1974, 2002,
>>> 2093, 2134,
>>> > 2280, 2289, 2369, 2420, 2475, 2478, 2500, 2544, 2574, 2625,
>>> 2678, 2794,
>>> > 2800, 2889, 2990, 2997, 3000, 3000, 3108, 3164, 3248, 3267,
>>> 3302, 3325,
>>> > 3335, 3472, 3570, 3668, 3770, 3813, 3990, 4064, 4309, 4323,
>>> 4422, 4488,
>>> > 4544, 4590, 4794, 4865, 4884, 5134, 5148, 5184, 5220, 5439,
>>> 5508, 5580,
>>> > 5738, 6045, 6279, 6360, 6480, 6640, 6683, 7014, 7353, 7700,
>>> 8055, 8145,
>>> > 8418, 8789, 9168, 9555, 9950
>>> >
>>> > How can I define this sequence?
>>> >
>>> > Thanks
>>>
>>>
>>> _______________________________________________
>>>
>>> Seqfan Mailing list - http://list.seqfan.eu/
>>>
>>> _______________________________________________
>>>
>>> Seqfan Mailing list - http://list.seqfan.eu/
>>>
>>
>>  Shevelev Vladimir‎
>>
>> _______________________________________________
>>
>> Seqfan Mailing list - http://list.seqfan.eu/
>>
>



More information about the SeqFan mailing list