Question: WARNING:I'm not asking for a better code, I'm asking for a shorter code for HackerRank just to learn what can be done to shorten it.

I'm newbie to Java and was trying out this FizzBuzz problem:

> 
> Write a program that prints the numbers from 1 to 100. But for multiples of three print >“Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which >are multiples of both three and five print “FizzBuzz”.
> 
> 
> 

I wrote my solution as short as possible.

```
class Solution{
public static void main(String[]b){
for(int i=1;i<101;i++){
String a=(i%3==0)?(i%5==0)?"FizzBuzz":"Fizz":(i%5==0)?"Buzz":i+"";
System.out.println(a);}}}

```

and I got a 3.6 score. But obviously there's room to improve because some people wrote it with 27 characters less. How is that possible ? Any suggestions? I don't really care about the ranks, I just wanna know what I'm missing. 

EDIT: So with your help, I made it like this:

```
class Solution{public static void main(String[]b){for(int i=1;i<101;i++){System.out.println((i%3==0)?(i%5==0)?"FizzBuzz":"Fizz":(i%5==0)?"Buzz":i);}}}

```

and it seems I got rid of 14 characters. God knows what the other people did to lose 13 more characters. Anyway, thanks.

Answer: 
What about something like:

```
for(int i=0;i++<100;System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz")))

```

**Warning:** this code is just an exercise of trying to *make the code shorter*. It is neither good or readable as normal code should try to be!
```
function fizzBuzz(n) {
  for (i = 1; i <= n; i++) {
    let result = "";
    if (i % 3 === 0) result += "Fizz";
    if (i % 5 === 0) result += "Buzz";
    if (i % 7 === 0) result += "Foo";
    console.log(result || i);
  }
}

fizzBuzz(105);

```

It will check every condition, if all are true then all will be added together as well as it works with the single true condition as well as two true conditions.