## ParthKohli 2 years ago How many four digit numbers are there such that the digits add up to 10 assuming that all digits are allowed to be zero?

1. amistre64

less than 9999 but more than 1000 :)

2. amistre64

1117 1171 1711 7111 1126 1162 1261 1621 2611 1216 1612 2161 6121 6211 2116 6112 etc

3. ParthKohli

A more mathematical approach, probably?

4. mathslover

1000A + 100B + 10C + D = 10 100A + 10B + C + D/10 = 1

5. mathslover

if the number is ABCD ^

6. amistre64

pfft, that is the most basic mathematical appraoach i know :)

7. ParthKohli

I liked what @mathslover said, but that doesn't resolve it. Sorry for taking the medal back. :-(

8. mathslover

1000A + 100B + 10C + D = 10 ---- (1) A + B/10 + C/100 + D/1000 = 1/100 ---- (2)

9. ParthKohli

But we must have four equations, no?

10. mathslover

No problem :) Parth , thanks though..

11. mathslover

I am going to subtract the above 2 eqns

12. amistre64

its most likely a counting application with permutations since order matters

13. amistre64

how many basic ways are there to define 4 digits that add up to ten, and then how many ways can each group be sorted thru

14. ParthKohli

Can we use combinatorics for this?

15. mathslover

hmn yes ^^ wait

16. amistre64

combinatorics brings to mind the nCr stuff; i think the nPr stuff might be more applicable

17. harsh314

sorry to correct what @mathslover is doing is a bit wrong /////// A+B+C+D=10 is the requirement///////////

18. amistre64

1117; how many ways are there to permute this? 1126 how many ways? 1135 1144

19. amistre64

we have to account for 0 i spose, which is added computations

20. mathslover

OH yes @harsh314 thanks a lot

21. amistre64

4+12+12+12 +things with zeros

22. amistre64

118: stuff like 1180, 1108, 1018, but not 0118 127 136 145 19 28 37 46 55

23. amistre64

so permute the 3 groups and times it by 3

24. amistre64

1900, 1090, 1009 looks to be 3 times the 2 groups as well except for the 55 :) 5500, 5050, 5005 is just 3

25. ParthKohli

This is very long. :-|

26. ParthKohli

Instead of brute-force, can we try something simpler?

27. mathslover

I got it

28. amistre64

this isnt brute force anymore, its refining

29. mathslover

Lemme check my method again

30. mathslover

Forget it . . . I think I must try it again :(

31. amistre64

im to focused on my exam in 30 minutes to think thru this clearerer

32. mathslover

Parth, do you have answer of it ? ?

33. ParthKohli

Nope.

34. harsh314

35. mathslover

84 numbers ... I think

36. ParthKohli

How?

37. mathslover

I will put up soln here soon... just thinking of more no.

38. mathslover

can the digits repeat Parth?

39. ParthKohli

Yes.

40. ParthKohli

Well, a number still has four digits if the digits repeat. :-)

41. mathslover

I found this on net : http://answers.yahoo.com/question/index?qid=20080330145752AA36Ac2 Now, I am thinking can we use this method to find the answerr?

42. ParthKohli

We can think of the ones with zeroes like this: three digit numbers that add up to 10 * 4! two digit numbers that add up to 10 * 4!/2 there can't be 3 or 4 zeroes.

43. harsh314

5193 is the answer or am i wrong as usual

44. ParthKohli

Hey wait, did I mention that the first digit can be zero?

45. amistre64

1117 is unique, 4 11xy has 12, and there are 3 ways to chose xy, and no zero groups 4(1)+3(12) 118 is unique, there are 3 ways, and 3 zero groups 1xy has 6 ways, and there are 4 ways to choose xy, and 3 zero groups 3(3)+3(6(4)) 55 is unique, theee is ony 1 way, and 3 zero groups xy 2 ways, there are 4 ways to choose xy, and 3 zero groups 3(1) + 3(2(4)) is there a flaw here?

46. mathslover

Oh! Is it allowed to have 0910 as the number ?

47. ParthKohli

Yes.

48. amistre64

the first digit cant be zero and it still be a 4-digit number tho

49. harsh314

no but a number with first digit as 0 does not make sense look at my answer plz i think it is right

50. mathslover

^ yeah after that 0910 is not a four digit number , it will be three digit number ..

51. amistre64

have fun, i gotta run ;)

52. ParthKohli

I know... the question is making such an assumption, so...

53. mathslover

@amistre64 ;)

54. mathslover

well there can't be more than 186 numbers.. I think.

55. mathslover

^ 196

56. mathslover

oh sorry 186

57. ParthKohli

Is it 186?

58. harsh314

more than 577

59. mathslover

yes it is 186 @ParthKohli

60. ParthKohli

61. Meepi

(0..9).each do |a| (0..9).each do |b| (0..9).each do |c| (0..9).each do |d| count = count + 1 if (a + b + c + d) == 10 end end end end puts count gave me 282 as answer, I don't know a mathematical approach though :)

62. mathslover

yes @ParthKohli

63. ParthKohli

186 when 0 is allowed or not?

64. mathslover

allowed

65. ParthKohli

How? :S

66. ParthKohli

282 and 186 are both not right :-|

67. harsh314

i think i got the answer.............

68. Meepi

282 was with leading zeros, without it would be 219

69. harsh314

408 without the zeros

70. harsh314

468 with zeroes

71. harsh314

72. harsh314

@ParthKohli

73. ParthKohli

I'd check

74. ParthKohli

Done! 13 C 3 = 286

75. harsh314

yes i got this too a silly error how did you do it............

76. harsh314

my method is tooo long.......

77. harsh314

@ParthKohli

78. ParthKohli

79. harsh314

i too got the same but by long method how did you get it .........

80. Meepi

I still find it odd that my bruteforce method which calculates the sum of the digits from 0 upto 9999 is off by 4

81. ParthKohli

We wanted the number of non negative numbers \(a_1,a_2,a_3,a_4\) such that \(a_1 + a_2 + a_3 + a_4 = 10\). A formula says that it would be \(\binom{10 + 4 - 1}{4 - 1}\)

82. harsh314

oh so no logic behind it as such..............

83. Meepi

But bruteforcing every digit from 0 to 9999 gives 282 though, shouldn't they be the same?

84. ParthKohli

I don't know. :-|

85. Meepi

Weird :l

86. harsh314

my method was long and a bit calculation mistake.............. case1:::'1" as the first digit ,,,,,, the following subcases arise (a) .....with 2 zeroes ........9 has to be the sum of the remaining three numbers so total possible combinations are 3. (b) .......with 1 zero we have 810,720,630,540......all these have 6 combinations each so total 24 (c) .......with no zeroes.....711(3combinations),621(6),531(6),522(3),432(6),441(3),333(1) so total of 28 combinations hence for the 1st case we have 45 combinations similarly we can have others tooo..........and then add all........we get 286

87. harsh314

but it would be great if any einstein of the present century could explain how @ParthKohli 's method came into being.............

88. harsh314

@satellite73

89. amistre64

works in google chrome :) <html> <body> <input type=button value="AddUp" onClick="qwe()"><br> 0000: <input id="txtOut0"><br> 1000: <input id="txtOut1"> </body> <script language=javascript> var a=0,b=0,c=0,d=0 var count=0 function qwe() {for (var x=1000; x<=10000; x=x+1) {if (a+b+c+d == 10){count=count+1} d=d+1; if (d>10) {d=0; c=c+1} if (c>10){c=0; b=b+1} if (b>10){b=0; a=a+1} if (a >9){x=10001} } document.getElementById("txtOut0").value=count //resets a=1,b=0,c=0,d=0, count=0 for (var x=1000; x<=10000; x=x+1) {if (a+b+c+d == 10){count=count+1} d=d+1; if (d>10) {d=0; c=c+1} if (c>10){c=0; b=b+1} if (b>10){b=0; a=a+1} if (a >9){x=10001} } document.getElementById("txtOut1").value=count } </script> </html>

90. amistre64

i should prolly include an output such that we can verify its a+b+c+d parts to make sure its operating as expected

91. Meepi

I'm working on one :)

92. amistre64

gotta weed out a bug :) 0,0,0,10 0,0,1,9 0,0,2,8 0,0,3,7 0,0,4,6 0,0,5,5 0,0,6,4 0,0,7,3 0,0,8,2 0,0,9,1 0,0,10,0 0,1,0,9 0,1,1,8

93. amistre64

if abcd = 10 then reset to 0, not if greater than 10 .... lol

94. amistre64

im missing 9001, 9010, 9100 from the end of my 0xxx for some reason 279+3 = 282 otherwise its 219 if we use actual 4-digit numbers :)

95. Meepi

282 is correct :)

96. amistre64

yay!! :)

97. amistre64

... brute math, the easy way :)

98. Meepi

Computers made these problem a lot easier :)

99. Meepi

Unfortunately Parth has 286 as answer though :(

100. amistre64

parth is counting somethings more than once then. i adjusted my loops to 0 to 10000 and it caught the last 3 ;)