गणित सिद्धांत से की राशि के रूप में लिखा जा सकता है:संख्या जो दो वर्गों
अनेक एन 2 वर्गों की राशि के रूप में व्यक्त तभी एन के प्रधानमंत्री गुणन, के हर प्रधानमंत्री में अगर फॉर्म
(4k+3)
कई बार होता है!
मैंने जो किया वह सभी 4k+3
संख्याओं की पूर्व-गणना की जाती है और निरंतर विभाजन द्वारा इसकी आवृत्ति की जांच की जाती है।
इस कार्यक्रम की कमी के पत्राचार में लिखा है:
1 < T <100
0 < N < 10^12
import java.util.Scanner;
public class TwoSquaresOrNot {
static int max = 250000;
static long[] nums = new long[max];
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int i = 0; i < max; ++i)
nums[i] = 4 * i + 3;
while (T-- > 0) {
long n = sc.nextLong();
System.out.println((canWrite(n) ? "Yes" : "No"));
}
}
private static boolean canWrite(long n) {
// TODO Auto-generated method stub
for (int i = 0; i < nums.length; ++i) {//loop through all the numbers
if (nums[i] > n)
return true;
int count = 0;
while (n % nums[i] == 0) {
count++;
n /= nums[i];
}
if (count % 2 != 0)//check for odd frequency
return false;
}
return true;
}
}
लेकिन इस SPOJ वेबसाइट में काम करने के लिए प्रतीत नहीं होता।
क्या मुझे कुछ याद आ रही है? या मुझ से कुछ गलत हो रहा है?
0
इस पर भी विचार किया जाता है।
Some valid cases are:
1 = 1^2 + 0^2
8 = 2^2 + 2^2
मैं अपने कोड का परीक्षण नहीं किया था, लेकिन आप मध्यवर्ती 'System.out.print' दूर करने की कोशिश कर सकते हैं:
तो अपने कोड की तरह कुछ बन जाना चाहिए। यह वेबसाइट को प्रभावित कर सकता है। – Tunaki
अहह! धन्यवाद। मैंने उसे नहीं देखा। हालांकि गलत जवाब। –
क्या "0" वर्ग के रूप में गिनती है? यदि नहीं, 9 एक मामूली counterexample है। –