जब आप Google पर कुछ खोजते हैं , तो यह सुविधाजनक रूप से पृष्ठ के शीर्ष के पास एक संदेश देता है, जैसे कि कुछ About 53,000,000 results (0.22 seconds)। (पाठ्यक्रम की खोज के आधार पर संख्या बदल जाती है।)
इस चुनौती में आप एक प्रोग्राम लिखेंगे जो Google द्वारा दिए गए परिणामों की संख्या का एक लघुगणक ASCII ग्राफ खींचता है जब किसी दिए गए खोज-वाक्यांश के सभी गैर-खाली उपसर्ग खोजे जाते हैं।
एक खोज-वाक्यांश को एक-दूसरे से एक स्थान द्वारा अलग किए गए लोअरकेस अल्फ़ान्यूमेरिक वर्णों के एक या अधिक तार के रूप में परिभाषित किया गया है। रेगेक्स में एक खोज-वाक्यांश है (?:[a-z0-9]+ )*[a-z0-9]+।
तो im ok, rहै, और 1a 2सभी खोज-वाक्यांशों रहे हैं, लेकिन I'm OK, R, 1a 2, और , नहीं कर रहे हैं।
(वर्ण प्रतिबंध लागू हैं क्योंकि Google शायद ही कभी मामले या विशेष प्रतीकों को ध्यान में रखता है। URL में गैर-अल्फ़ान्यूमेरिक वर्णों को बचाना भी एक परेशानी है।)
कल्पना
आपके कार्यक्रम को स्टैडिन या कमांड लाइन से एक खोज-वाक्यांश और एक सकारात्मक फ्लोटिंग पॉइंट नंबर एच में ले जाना चाहिए। (आप मान सकते हैं कि वे मान्य हैं और यह ठीक है अगर आपको खोज-वाक्यांश के आसपास उद्धरण या कुछ चाहिए।)
एक कार्य उदाहरण के रूप में मान लें कि खोज वाक्यांश a carऔर H = 0.75 है।
चरण 1:
अपने खोज-वाक्यांश के गैर-खाली उपसर्गों को इकट्ठा करें, और उन्हें दोहरे उद्धरणों में रखें । उद्धरण यह सुनिश्चित करते हैं कि सटीक वाक्यांश के लिए खोज की जाएगी, किसी भी ' से बचने का मतलब है ...' पुनर्निर्देशन।
उन सभी उपसर्गों को छोड़ दें जो किसी स्थान में समाप्त होते हैं जैसे कि a[space]।
Prefixes
"a"
"a c"
"a ca"
"a car"
चरण 2:
इनमें से प्रत्येक शब्द को ठीक वैसे ही खोजें जैसे कि वे https://www.google.com का उपयोग करते हैं , और वापस आए परिणामों की संख्या पर ध्यान दें।
Search Term Message Results
"a" About 6,950,000,000 results (0.27 seconds) 6950000000
"a c" About 861,000,000 results (0.27 seconds) 861000000
"a ca" About 2,990,000 results (0.30 seconds) 2990000
"a car" About 53,900,000 results (0.39 seconds) 53900000
यदि खोज शब्द किसी दस्तावेज़ से मेल नहीं खाता है , तो Resultsकॉलम में 0 डालें ।
चरण 3: प्रत्येक पंक्ति के लिए
गणना करें y = floor(H * log10(r + 1)), जहाँ r का Resultsमान है। यहां अभी भी एच 0.75 है।
Search Term Results y
"a" 6950000000 7
"a c" 861000000 6
"a ca" 2990000 4
"a car" 53900000 5
चरण 4: प्रत्येक अनछुए खोज शब्द के अंतिम वर्ण के ऊपर ऊर्ध्वाधर सलाखों की
व्यवस्था करें। खाली क्षेत्रों को भरने के लिए रिक्त स्थान का उपयोग करके, बार ग्राफ की तरह।y|
|
| |
| | |
| |||
| |||
| |||
| |||
a car
यह ग्राफ़ आपके प्रोग्राम का अंतिम परिणाम है और केवल उसी चीज़ को आउटपुट करने की आवश्यकता है। इसे स्टडआउट जाना चाहिए।
स्कोरिंग
ये है कोड गोल्फ, इसलिए बाइट्स में सबसे छोटा कार्यक्रम जीत जाता है।
टिप्पणियाँ
- जब तक परिणाम https://www.google.com की खोज के समान नहीं होंगे तब तक आप URL शॉर्टर्स या अन्य खोज उपकरण / API का उपयोग कर सकते हैं ।
- मुझे पता है कि दोहरे उद्धरण "बाहर निकालने का एक निश्चित तरीका नहीं है " क्या आपका मतलब था ... "पुनर्निर्देशन।
&nfpr=1URL को जोड़ना हमेशा काम नहीं करता है । इन अशुद्धियों के बारे में चिंता मत करो। बसAbout X results...संदेश देखें कि कोई बात नहीं क्या है, याResultsअगर कोई नहीं है तो 0 पर सेट करें। - ग्राफ़ में खोज-वाक्यांश में किसी भी स्थान के ऊपर एक खाली स्तंभ है।
- ग्राफ व्यापक या लंबा नहीं होना चाहिए, जैसे कि यह होना चाहिए (जैसे कि व्हाट्सएप के साथ)।
- यह ठीक है अगर आपके प्रोग्राम में वेब ब्राउज़र खोलने के साइड इफेक्ट्स हैं, तो क्रिप्टिक Google HTML / js पेज पढ़े जा सकते हैं क्योंकि वे प्रदान किए जाते हैं।