訂單10^18的輸入n和輸出應該是其設定位僅爲2的所有數字的總和。對於例如n = 5個setbit是101-> 2個設定位。對於n = 1234567865432784,我如何優化下面的代碼?Java中的大型優化IO處理
class TestClass
{
public static void main(String args[])
{
long N,s=0L;
Scanner sc = new Scanner(System.in);
N=sc.nextLong();
for(long j = 1; j<=N; j++)
{
long b = j;
int count = 0;
while(b!=0)
{
b = b & (b-1);
count++;
}
if(count == 2)
{
s+=j;
count = 0;
}
else
{
count = 0;
continue;
}
}
System.out.println(s%1000000007);
s=0L;
}
}
[看看這個(HTTPS:/ /en.wikipedia.org/wiki/Sieve_of_Eratosthenes) – SMA
你剛剛編輯了你問的問題,使它成爲一個完全不同的問題? –
我首先輸入了一個錯誤的問題Leo,請幫助我解決這個問題。 – sagnikDas