Win a copy of Mesos in Action this week in the Cloud/Virtualizaton forum!

# Quick problem to wake up your brain

Brian Legg
Ranch Hand
Posts: 488
There are 99 unique numbers in an array. All numbers are from 1 to 100 with 1 random number missing. The numbers are not in order.

How can you figure out what the missing number is if your only allowed to pass through the array 1 time?

I realize this is probably too easy for most of you but this should wake up your brain on a Friday morning. Please don't post the answer if you've heard this before

Bonus: Post your answer in Java code - only 4 lines needed for my solution including the print statement which shows the answer.

yousef atya
Greenhorn
Posts: 3
I think you have to sort the array , then you can find which number dose not exist ;

Paul Clapham
Sheriff
Posts: 21107
32
I don't think I heard that before, but you just add up the 99 numbers and subtract the total from 5050. I know this is "Programming Diversions" but as you imply, the programming is trivial once you know what to do.

Brian Legg
Ranch Hand
Posts: 488
If 5,050 is equal to 100! then you are correct Paul

Mike Simmons
Ranch Hand
Posts: 3080
14
Well, 100! would be a somewhat larger number. But we know what you meant.

Brian Legg
Ranch Hand
Posts: 488
Doh.... what's the mathematical sign for 100+99+98....+1 ? I thought it was 100! but I guess that is 100 * 99 * 98, etc.

Sridhar Gudipalli
Ranch Hand
Posts: 120
package com.my;

public class SumDemo {

int digits[]= new int[99];

public SumDemo(int missingValue) {
//Initialize the array with 98 unique values.
for(int i=0;i<99; i++){
if(i==missingValue-1){
continue;
}
this.digits[i]=i+1;
}

}

public static void main(String[] args) {

SumDemo sDemo = new SumDemo(5);

int actualTotalValue = (99 * (99+1))/2; //sum of n natural numbers (n*(n+1))/2

int arrayTotalValue=0;
for(int i=0; i<sDemo.digits.length;i++){
arrayTotalValue += sDemo.digits[i];
}

System.out.println(" Missing value is: "+(actualTotalValue - arrayTotalValue));

}
}

///Output: Missing value is: 5>

Paul Clapham
Sheriff
Posts: 21107
32
Brian Legg wrote:Doh.... what's the mathematical sign for 100+99+98....+1 ?

There isn't one as far as I know.

Brian Legg
Ranch Hand
Posts: 488
Nice work Sridhar

Sagar Rohankar
Ranch Hand
Posts: 2907
1
Paul Clapham wrote:
Brian Legg wrote:Doh.... what's the mathematical sign for 100+99+98....+1 ?

There isn't one as far as I know.

No direct formula or symbol, but its looks like an Arithmetic Progression and can sum as :
Sum = n(a1 + a2)/2 = 100(1 + 100)/2 = 5050

George Harris
Ranch Hand
Posts: 84
Brian Legg wrote:Doh.... what's the mathematical sign for 100+99+98....+1 ? I thought it was 100! but I guess that is 100 * 99 * 98, etc.

Isn't it something like :

100
Σ b
b=1

Ernest Friedman-Hill
author and iconoclast
Marshal
Posts: 24211
35
George Harris wrote:
Brian Legg wrote:Doh.... what's the mathematical sign for 100+99+98....+1 ? I thought it was 100! but I guess that is 100 * 99 * 98, etc.

Isn't it something like :

100
Σ b
b=1

Yes, that's what I would write.

Mike Simmons
Ranch Hand
Posts: 3080
14
Well, we can also write the product of the first 100 positive integers as

100
∏ n
n = 1

But there's also a single symbol for this, the factorial operator. There's no such single symbol for a sum, as far as I know.