# Technical Interview Question – Pascal’s Triangle

Here is more complicated question which is sometimes asked during a technical interview.

Write a function that prints out the first n rows of Pascal’s triangle (with f(1) yielding the row consisting of only the element 1). This can be done either by summing elements from the previous rows or using a binary coefficient or combination function. Behavior for n <= 0 does not need to be uniform, but should be noted.

Pascal’s triangle is an arithmetic and geometric figure first imagined by Blaise Pascal. Its first few rows look like this:

```   1
1 1
1 2 1
1 3 3 1
```

Each element of each row is either 1 or the sum of the two elements right above it. For example, the next row would be 1 (since the first element of each row doesn’t have two elements above it), 4 (1 + 3), 6 (3 + 3), 4 (3 + 1), and 1 (since the last element of each row doesn’t have two elements above it). Each row n (starting with row 0 at the top) shows the coefficients of the binomial expansion of (x + y)n.

```function pascalsTriangle(\$num)
{
\$c = 1;
\$triangle = Array();

for(\$i=0;\$i<=\$num;\$i++) {
\$triangle[\$i] = Array();
if(!isset(\$triangle[\$i-1])) {
\$triangle[\$i][] = \$c;
}
else{
for(\$j=0; \$j < count(\$triangle[\$i-1])+1; \$j++){
if (isset(\$triangle[\$i-1][\$j-1]) && isset(\$triangle[\$i-1][\$j])) {
\$triangle[\$i][] = \$triangle[\$i-1][\$j-1] + \$triangle[\$i-1][\$j]
}
else {
\$triangle[\$i][] = \$c;
}
}
}
}

return \$triangle;
}

\$tria = pascalsTriangle(8);
foreach(\$tria as \$val) {
foreach(\$val as \$value) {
echo \$value . ' ';
}
echo '';
}
```

# Technical Interview Question – Fizz Buzz

Here is a common question that’s usually asked in the first-round interview stage. The typical question is something like:

Print out the numbers 1 to 100. Where the number is a multiple of 3, print ‘Fizz’, otherwise if it is a multiple of 5 print ‘Buzz’. If the number is a multiple of 3 and 5, print ‘FizzBuzz’.

```// PHP

for (\$i = 1; \$i <= 100; \$i++)
{
if (\$i % 3 == 0 && \$i % 5 == 0) {
echo 'FizzBuzz';
}
else if (\$i % 3 == 0) {
echo 'Fizz';
}
else if (\$i % 5 == 0){
echo 'Buzz';
}
else {
echo \$i;
}
}
```
```# PERL

for (my \$count = 1; \$count <= 100; \$count++)
{
if ((\$count % 3 == 0) && (\$count % 5 == 0)) {
print "FizzBuzz\n";
}
elsif (\$count % 3 == 0) {
print "Fizz\n";
}
elsif (\$count % 5 == 0) {
print "Buzz\n";
}
else {
print \$count . "\n";
}
}
```
```// JAVASCRIPT

for (var count = 1; count <= 100; count++)
{
if ((count % 3 == 0) && (count % 5 == 0)) {
console.log('FizzBuzz');
}
else if (count % 3 == 0) {
console.log('Fizz');
}
else if (count % 5 == 0) {
console.log('Buzz');
}
else {
console.log(count);
}
}
```
```// JAVA

public class FizzBuzz {
public static void main(String[] args) {
for(int i = 1; i <= 100; i++) {
if (((i % 5) == 0) && ((i % 3) == 0))
System.out.println("FizzBuzz");
else if (i % 3 == 0) {
System.out.println("Fizz");
}
else if (i % 5 == 0) {
System.out.println("Buzz");
}
else {
System.out.println(i);
}
}
}
}
```
```// PYTHON

for count in xrange(1,101):
if count % 5 == 0 and count % 3 == 0:
print "FizzBuzz"
elif count % 3 == 0:
print "Fizz"
elif count % 5 == 0:
print "Buzz"
else:
print count
```