I want to multiply every digit in a number to each other.

For example

```
515 would become 25(i.e 5*1*5)
10 would become 0(i.e 1*0)
111111 would become 1(i.e 1*1*1*1*1*1)

```

I used this code to do it

```
public static int evalulate(int no)
{
    if(no==0)return 0;
    int temp=1;

    do
    {
        temp=(no%10)*temp;
        no=no/10;
    }while(no>0);

    return temp;
}

```

problem is I want to evaluate for about a **billion** numbers like this

```
for(int i=0;i<1000000000;i++)evaluate(i);

```

This takes about **146** seconds on my processor.I want to evaluate it within **some** seconds.

So,is it possible to optimize this code using some `shift`,`and`,`or` operators so that I can reduce the time to evaluate **without using multiple threads or parallelizing it**

Thanks