ठीक है, मुझे हल करने में यह समस्या है लेकिन मैं इसे जावा में सही तरीके से प्रोग्राम नहीं कर सकता। नीचे दी गई तस्वीर देखें, आपको एक 6 प्वाइंट स्टार दिखाई देगा, प्रत्येक बिंदु और लाइनों का चौराहे एक पत्र है।जावा में "ये सभी संख्याएं अलग-अलग हैं" स्थिति कैसे लिखें?
काम इस तरह से 12 नंबर स्थित करने के लिए 1 है कि चार गेंदों के सभी लाइनों का योग 26 है और सभी 6 स्टार के अंक का योग 26 के रूप में अच्छी है। यह करने के लिए नीचे आता है:
- (ए + सी + एफ + H == 26)
- (ए + डी + जी + K == 26)
- (बी + सी + डी + ई == 26)
- (बी + एफ + मैं एल == 26)
- (ई + G + J + L == 26)
- (एच + मैं + J + K == 26) +
- (ए + बी + ई + एच + के + एल == 26)
इसलिए मैंने प्रोग्रामिंग प्रोग्राम करना शुरू किया जो एक समाधान को मजबूर करने वाले सभी विकल्पों के माध्यम से लूप करेगा। लूप काम कर रहा है, हालांकि, अब यह समाधान दिखाता है जहां एक नंबर एक से अधिक बार उपयोग किया जाता है, जिसकी अनुमति नहीं है। मैं इसे कोड में कैसे बना सकता हूं कि यह भी जांचता है कि सभी चर अलग हैं या नहीं?
if ((A!= B != C != D != E != F != G != H != I != J != K != L)
मैं ऊपर कोशिश की, लेकिन यह काम नहीं करता है, क्योंकि यह कहते हैं:
अतुलनीय प्रकार: बूलियन और पूर्णांक।
सभी नंबर अलग हैं या नहीं, इसके लिए मैं 1 या एक छोटे से बयान के भीतर चेक कैसे कर सकता हूं?
यह मेरा कोड अब तक है (एक नेस्टेड 12 * 12 बयान है जो हर चर संयोजन की जाँच करता है बनाने के बजाय):
public class code {
public static void main(String[] args){
for(int A = 1; A < 13; A++){
for(int B = 1; B < 13; B++){
for(int C = 1; C < 13; C++){
for(int D = 1; D < 13; D++){
for(int E = 1; E < 13; E++){
for(int F = 1; F < 13; F++){
for(int G = 1; G < 13; G++){
for(int H = 1; H < 13; H++){
for(int I = 1; I < 13; I++){
for(int J = 1; J < 13; J++){
for(int K = 1; K < 13; K++){
for(int L = 1; L < 13; L++){
if ((A+C+F+H==26) && (A+D+G+K==26) && (B+C+D+E==26) && (B+F+I+L==26) && (E+G+J+L==26) && (H+I+J+K==26) && (A+B+E+H+K+L==26)){
if ((A= C != D != E != F != G != H != I != J != K != L)){
System.out.println("A: " + A);
System.out.println("B: " + B);
System.out.println("C: " + C);
System.out.println("D: " + D);
System.out.println("E: " + E);
System.out.println("F: " + F);
System.out.println("G: " + G);
System.out.println("H: " + H);
System.out.println("I: " + I);
System.out.println("J: " + J);
System.out.println("K: " + K);
System.out.println("L: " + L);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
+1:
यहां कुछ नमूना कोड, nextPerm में कोड() की नकल की और Permutation Generator से संशोधित किया गया है है। यह एक उदाहरण है कि होमवर्क प्रश्न * जैसा होना चाहिए। :) –
ऑफ-विषय, लेकिन केवल ध्यान दें कि जावा में, सम्मेलन कक्षा के नामों के पहले अक्षर को कैपिटल करना है। इसलिए 'कोड' के बजाय अपनी कक्षा 'कोड' का नाम देना बेहतर है। फ़ाइल नाम को 'code.java' से' code.java' में भी बदला जाना चाहिए। एक और सार्थक नाम भी बेहतर है, 'SixPointedStarProblemSolver' जैसे कुछ। – Behrang
@ adam: धन्यवाद, मैंने यहां पूछने से पहले कुछ काम किया है :) @bytecode: टिप्पणी के लिए धन्यवाद, लेकिन यह केवल व्यक्तिगत उपयोग के लिए है, मुझे लगता है कि मेरा शिक्षक मुझे मजबूर नहीं करना चाहता है, लेकिन इसे एक और तरीका कर रहा हूं। कोई संकेत नहीं है कि यह कैसे करें :) – Javaaaa