O
only you
Unregistered / Unconfirmed
GUEST, unregistred user!
题目:一个多位数,末位是3,将末位移到首位,则新数字是原数字的2倍
要求:用一个[red]快速[/red]优良的算法计算出来这个数是多少
我的算法很简单(java),请教各位怎样才能更快些,请写出你的思路和代码!语言不限,
关键请说明思路(声明:本文无任何不良目的,请网友放心,如不放心请不必发言)
public class guessme
{
public static void main(String args[])
{
for (long i=100L;i<=1000000000000000000L ;i=i+1000000L)
{
new SimpleThread(i,i+1000000L).start();
}
System.out.println("所有线程已经全部运行完毕!");
}
}
class SimpleThread extends Thread
{
private long start;
private long end;
private long Count;
private static long Counter=0;
public SimpleThread(long astart,long aend)
{
super();
Count=++Counter;
start=astart;
end=aend;
}
public void run()
{
long j=0L;
String temp;
String NewStr;
for (long i=start;i<=end;
i++ )
{
temp=Long.toString(i);
NewStr=temp.charAt(temp.length()-1)+temp.substring(1,temp.length()-1);
long k=Long.parseLong(NewStr);
if (i<<1==k)
{
j=k;
}
}
System.out.println("第"+Count+"个线程已经运行完毕!结果是:"+j);
}
};
要求:用一个[red]快速[/red]优良的算法计算出来这个数是多少
我的算法很简单(java),请教各位怎样才能更快些,请写出你的思路和代码!语言不限,
关键请说明思路(声明:本文无任何不良目的,请网友放心,如不放心请不必发言)
public class guessme
{
public static void main(String args[])
{
for (long i=100L;i<=1000000000000000000L ;i=i+1000000L)
{
new SimpleThread(i,i+1000000L).start();
}
System.out.println("所有线程已经全部运行完毕!");
}
}
class SimpleThread extends Thread
{
private long start;
private long end;
private long Count;
private static long Counter=0;
public SimpleThread(long astart,long aend)
{
super();
Count=++Counter;
start=astart;
end=aend;
}
public void run()
{
long j=0L;
String temp;
String NewStr;
for (long i=start;i<=end;
i++ )
{
temp=Long.toString(i);
NewStr=temp.charAt(temp.length()-1)+temp.substring(1,temp.length()-1);
long k=Long.parseLong(NewStr);
if (i<<1==k)
{
j=k;
}
}
System.out.println("第"+Count+"个线程已经运行完毕!结果是:"+j);
}
};