मेरे दोस्त और मैं हमारे एपी कंप्यूटर विज्ञान वर्ग में एक प्रयोगशाला में काम कर रहे थे और हमने एक के बाद एक गोल्फ को कोड करने का फैसला किया क्योंकि हमारे पास समाप्त होने के बाद भी हम आधे वर्ग मुक्त थे। यहाँ सवाल है:
संख्या n को देखते हुए, क्या प्रत्येक अंक द्वारा विभाज्य है?
उदाहरण के लिए, 128 इस परीक्षा को पास करेगा- यह 1,2 से विभाज्य है, और 8. शून्य के साथ कोई भी संख्या स्वचालित रूप से संख्या को अयोग्य बनाती है। जब आप अन्य भाषाओं का उपयोग कर सकते हैं और यदि आप चाहें तो उनके साथ समाधान पोस्ट कर सकते हैं, हम यह देखने में सबसे अधिक रुचि रखते हैं कि कैसे लोग जावा में प्रोग्राम बना सकते हैं, क्योंकि यही वह भाषा है जिसका हम कक्षा में उपयोग करते हैं। अब तक, हम दोनों के पास 51 हैं। यहां मेरा वर्तमान कोड है:
public boolean dividesSelf(int n){for(int p=n;n%10>0;)n/=p%(n%10)>0?.1:10;return n<1;}
// 51 characters
// Breakdown:
// for(int p=n; Saves one semicolon to put declaration into for loop
// n%10>0;) Basic check-for-zero
// n/= Pretty simple, discarding one number off of n at a time
// p%(n%10)>0? If p (the given value) is not divisible by n%10 (the current digit)...
// .1:10; Divide by .1 (multiply by 10) so it fails the check next iteration. If it is divisible, divide by 10 to truncate the last digit
// return n<1 If the number was fully divisible, every digit would be truncated, and n would be 0. Else, there would still be non-zero digits.
आवश्यकताएँ
विधि हस्ताक्षर आप जो चाहें कर सकते हैं। बस फ़ंक्शन बॉडी की गिनती करें। हालांकि, सुनिश्चित करें कि यह विधि एक बूलियन मान लौटाती है और केवल एक संख्यात्मक पैरामीटर (स्ट्रिंग नहीं) में गुजरती है ।
कोड इन सभी मामलों को पारित करने में सक्षम होना चाहिए (मूल प्रश्न के निर्देशों के अनुसार सही रहने के लिए, केवल बूलियन सही और गलत मानों की गणना करता है यदि भाषा बूलियंस का समर्थन करती है। यदि और केवल यदि आपकी भाषा आपके पास बूलियन चर नहीं है। किसी भी गैर-पूर्णांक पूर्णांक के साथ 0 और सही के साथ गलत का प्रतिनिधित्व कर सकता है (अधिमानतः 1 या -1):
128 -> true
12 -> true
120 -> false
122 -> true
13 -> false
32 -> false
22 -> true
42 -> false
212 -> true
213 -> false
162 -> true
204 -> false
इसके अलावा, हम व्हॉट्सएप की गिनती नहीं करते हैं, इसलिए ऐसा करने के लिए स्वतंत्र महसूस करें, जब तक कि प्रोग्राम के कामकाज के लिए व्हॉट्सएप आवश्यक नहीं है (इसलिए जावा में नए लिंक की गिनती नहीं होती है, लेकिन गिनती int
और x=1
गणना के बीच एक ही स्थान है ।) !
0
अंकों के साथ एकमात्र संख्या है, जो उनमें से प्रत्येक का एक से अधिक है), मुझे लगता है कि अधिकांश उत्तर बस एक निर्बाध तरीके से इसके लिए एक चेक शामिल करने में अधिक समय लेंगे। इसलिए मुझे यह समस्या अच्छी लगती है क्योंकि शीर्षक बेहतर है (इसके अंकों से विभाज्य है, बजाय इसके कई अंकों का, जो 0 को छोड़कर)।
true
औरfalse
या सत्य / झूठे मूल्य ठीक हैं? 3.java
टैग वास्तव में यहां लागू नहीं होता है, क्योंकि चुनौती स्वयं जावा से असंबंधित है।