इस समस्या में, हमें एक स्ट्रिंग दी गई है। हमारा कार्य हां / नहीं प्रिंट करना है, यह इस आधार पर कि उस स्ट्रिंग के वर्णों के ASCII मानों का योग अभाज्य है या नहीं।
ASCII मान वर्ण एन्कोडिंग होते हैं।
अभाज्य संख्या वह संख्या है जो केवल स्वयं और 1 से विभाज्य होती है।
आइए एक उदाहरण से समझते हैं:
इनपुट: स्ट्रिंग = "Hello" आउटपुट: नहीं
इस समस्या को हल करने के लिए, हमें स्ट्रिंग के सभी वर्णों के 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 << "स्ट्रिंग '" << str << "' ";
if (CheckPrimeString(str))
cout << "एक अभाज्य स्ट्रिंग है\n";
else
cout << "अभाज्य स्ट्रिंग नहीं है\n";
}
आउटपुट
स्ट्रिंग 'Hello!' अभाज्य स्ट्रिंग नहीं है