इस समस्या में हमें एक तार दिया जाता है। हमारा काम हां / नहीं को प्रिंट करना है स्ट्रिंग के वर्णों के ASCII मानों के योग के आधार पर अभाज्य है या नहीं।
ASCII मान वर्ण एन्कोडिंग हैं
प्राइम नंबर एक संख्या है जो केवल संख्या से ही विभाजित होती है और 1.
समस्या को समझने के लिए एक उदाहरण लेते हैं,
Input: string = “Hello” Output:No
इस समस्या को हल करने के लिए, हमें स्ट्रिंग के सभी वर्णों के ASCII मानों का योग ज्ञात करना होगा। और योग को एक वेरिएबल में स्टोर करें और फिर जांचें कि योग एक अभाज्य संख्या है या नहीं।
हमारे समाधान के कार्यान्वयन को दिखाने के लिए कोड
उदाहरण
#include <iostream> using namespace std; bool CheckPrimeString(string str) { int len = str.length(), sum = 0; for (int i = 0; i < len; i++) sum += (int)str[i]; if (sum<= 1) return false; if (sum <= 3) return true; if (sum % 2 == 0 || sum % 3 == 0) return false; for (int i = 5; i * i <= sum; i = i + 6) if (sum % i == 0 || sum % (i + 2) == 0) return false; return true; } int main() { string str = "Hello!"; cout<<"The string '"<<str<<" ' is "; if (CheckPrimeString(str)) cout<<"a prime String \n"; else cout<<"not a prime String\n"; }
आउटपुट
The string 'Hello! ' is not a prime String