The Artima Developer Community
Sponsored Link

.NET Buzz Forum
Google Math, and Pascal's triangle

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Dan Fernandez

Posts: 456
Nickname: danielfe
Registered: Aug, 2003

Daniel Fernandez is the Product Manager for C# in the developer division at Microsoft.
Google Math, and Pascal's triangle Posted: Aug 25, 2003 5:41 AM
Reply to this message Reply

This post originated from an RSS feed registered with .NET Buzz by Dan Fernandez.
Original Post: Google Math, and Pascal's triangle
Feed Title: Dan Fernandez's Blog
Feed URL: /msdnerror.htm?aspxerrorpath=/danielfe/Rss.aspx
Feed Description: Dan discusses Dot Net.
Latest .NET Buzz Posts
Latest .NET Buzz Posts by Dan Fernandez
Latest Posts From Dan Fernandez's Blog

Advertisement

Google recently added a cool calulator feature.
Simply enter a math formula like "5 * 5" into Google and it will return a results page with the answer. 

 Asking Google: "The answer to life, the universe and everything" returns the calculator and the answer 42, based on the calculation by Deep Thought, the super computer in the Douglas Adam's classic "Life the Universe and Everything".
Google also links to a Wikipedia entry that explains how 6 * 9 = 42 (hint: not base 10) and how code written in C using macros also correctly multiplies 6*9=42.  I also work in building 42 which makes it that much more special :)

Another cool feature I discovered is that Google does factorials. Entering 4! and you'll see 4*3*2*1 (x * x-1) or 24.  This reminded me of French mathematician Blaise Pascal who's Pascal triangle solves probabability questions. For example, look at the triangle below:

1			1	1
	
2		    1       2       1

3		1	3	3	1

4	    1	    4	    6	    4       1

5	1	5	10	10	5	1

6   1	    6      15        20      15      6       1


Both parents sum to be the total of each child:
1	2
    3
and
4	6
   10

The numbers horizontally represents the possibilities of elements being picked.  Let's use the 4th row and letters A, B, C, D as examples. The fourth row represents the numbers 1, 4, 6, 4, 1 which represent the probability of choosing 0, 1, 2, 3, and 4 of the letters. Let's look at each of these:

0 - There is only one option for picking none of the letters.
1 - Since there are four unique letters, there are four unique possibilities. 
2 - There are six ways of picking exactly two letters: AB, AC, AD, BC, BD, CD.
3 - There are four ways of picking three out of the four elements, simply choose which letter you are not going to pick.
4 - There is only one way to select all of the letters.

Whew, with that explained, we can look at the mathematical formula for this:
N!/(R!(N!-R!)) where N represents the number of elements and R represents the number of matches.

Using our example above, where N is 4 and we'll set 2 as the number of matches, we get:

 4!/(2!(4-2)!).  Google correctly answers this as 6, matching the value in Pascal's triangle. 

If you didn't have Google, you can represent Pascal's formula in C# with the code below: 

	
class f
{
	//Factorial
	private static long fac(long x)
	{
		for(long i=x-1;i>0;i--)
		{
			x *= i;			
		}
		return x;
	
	}

	public static long Pascal(long n, long r)
	{
		
		return fac(n)/(fac(r) * fac(n-r));
	
	}
}

Another interesting mathematical pattern in Pascal's triangle is the Fibonacci sequence on the triangle diagonals.

Fibonacci # Diagonal #'s
1 1
2 1+1
3 1+2
5 1+3+1
8 1+4+1

Cool stuff, now do we call Google's calculator a web service?

Read: Google Math, and Pascal's triangle

Topic: Shameless Plugs Previous Topic   Next Topic Topic: Wireless Blogging in SFO on the way to HKG on the way to KUL

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use