[go: up one dir, main page]

login
Sum of n-digit numbers which are balanced: the first [n/2] digits have the same sum as the last [n/2] digits.
4

%I #14 Dec 07 2021 11:27:02

%S 45,495,49500,3314850,331431000,27336542310,2733612983100,

%T 238305122029260,23830484311542600,2140037814262627400,

%U 214003761418373774000,19587943639318412097360,1958794348735327250973600,181693537570273520779480800

%N Sum of n-digit numbers which are balanced: the first [n/2] digits have the same sum as the last [n/2] digits.

%C Numbers such that the first half of digits have the same sum than the last half of digits are called balanced in the linked "Problem 217". (Note that here the meaning of "balanced" is neither that of A020492, nor that of A031443.)

%C Up to n=3 digits, the only balanced numbers are the palindromes, from n=4 on, there are non-palindromic balanced numbers, cf. A145808.

%H Project Euler, <a href="https://projecteuler.net/problem=217">Balanced numbers. Problem 217</a>.

%F lim a(2n+1)/a(2n) = 100, lim a(2n)/a(2n-1) = 90 (as n -> oo).

%e a(1) = 1+2+...+9; a(2) = 11+22+...+99 = 11 a(1); a(3) = 101+111+121+....+191+202+...+989+999 = (101*10 + 10*9)*a(1); a(4) = 1001+1010+1102+1111+1120+1203+...+9889+9898+9999.

%t balQ[n_]:=Module[{idn=IntegerDigits[n],len=Floor[IntegerLength[n]/2]}, Total[ Take[ idn,len]] == Total[Take[idn,-len]]]; Table[Total[ Select[ Range[ 10^n, 10^(n+1)-1],balQ]],{n,0,5}] (* This will generate the first six terms of the sequence. To generate more, (1) change the range of the Table from (0,5) to (0,6) or (0,7), etc., but the program will take increasingly long to run. *) (* _Harvey P. Dale_, Apr 07 2013 *)

%o (PARI) A147808(n)={ local( t,c ); if( n==1, 45, /* global variable SC[sd] (used for n=2k and n=2k+1) stores [sum,count] of numbers with <= n\2 digits and digit sum = sd */ if( #SC != n\2*9, SC=vector( n\2*9, digsum, c=0; [sum( i=0,10^(n\2)-1, if((i-digsum)%9==0 && digsum==sum(j=1,#t=Vecsmall(Str(i)),t[j])-48*#t, c++; i )), c] )); if( n%2==0, sum( i=10^((n\=2)-1),10^n-1, SC[A007953(i)]*[1,i*10^n]~ ), t=10^(n\=2)*[100,45]~; sum( i=10^(n-1),10^n-1, SC[A007953(i)]*[10,[i,1]*t]~ )))}

%K base,nonn

%O 1,1

%A _M. F. Hasler_, Nov 23 2008

%E a(13)-a(14) from _Kevin P. Thompson_, Dec 05 2021