Heim > Backend-Entwicklung > C++ > Finden Sie die Summe der ASCII-Werte von Zeichen in Primpositionen

Finden Sie die Summe der ASCII-Werte von Zeichen in Primpositionen

PHPz
Freigeben: 2023-09-11 20:29:12
nach vorne
645 Leute haben es durchsucht

Finden Sie die Summe der ASCII-Werte von Zeichen in Primpositionen

Einführung

In diesem Tutorial lernen wir das Konzept von C++ kennen, um die Summe der ASCII-Werte von Zeichen zu ermitteln, die an Primärpositionen erscheinen. Primzahlen sind Zeichen an den Positionen 2, 3, 5 oder einer anderen Primzahl.

ASCII-Werte (American Standard Code for Information Interchange) sind eindeutige numerische Werte für Buchstaben, Buchstaben, Satzzeichen und andere bei der Codierung verwendete Zeichen. Es wird zur Kommunikation mit Computern verwendet, da Computer die menschliche Sprache nicht verstehen können.

Es gibt 128 ASCII-Werte von 0 bis 127. Groß- und Kleinbuchstaben haben unterschiedliche ASCII-Werte.

Wir werden einen C++-Code entwickeln, um den ASCII-Wert eines Zeichens zu berechnen, das sich an einer Primzahlposition befindet. Wir verwenden die Funktion length() der String-Klasse, um die Länge des Eingabestrings zu speichern.

Beispiel 1

There is an string = “Hello”
Sum of prime position ASCII value characters = 320
Nach dem Login kopieren
In the above string “Hello” the ASCII value of each character is 
H =  72
e = 101
l = 108
l = 108
o = 111
Nach dem Login kopieren

Die Zeichen an der ersten Stelle sind „e“, „l“, „o“. Fügen Sie die ASCII-Werte der Zeichen an diesen Primpositionen hinzu.

Probe 2

Input string = “abcd”
Sum = 197
Nach dem Login kopieren

Die wichtigsten Positionszeichen in der Eingabezeichenfolge „abcd“ sind „b“ und „c“.

The ASCII value of input string characters is as listed:
a = 97
b = 98
c = 99
d = 100
Nach dem Login kopieren

Berechnen Sie die Summe der ASCII-Werte der Zeichen an der primären Position in der Zeichenfolge.

Grammatik

  • sqrt() − Diese Bibliotheksfunktion ist in der Mathematikbibliothek definiert und gibt die Quadratwurzel der eingegebenen Zahl zurück

sqrt(n)
Nach dem Login kopieren
  • length() - Diese Zeichenfolgenbibliotheksfunktion gibt die Länge der Eingabezeichenfolge zurück, wobei die Länge die Anzahl der Zeichen in der Zeichenfolge ist.

string_name.length(); 
Nach dem Login kopieren

Beispiel 1

Wir werden ein Beispiel mit der Programmiersprache C++ implementieren, um die Summe der ASCII-Werte von Zeichen zu berechnen, die sich an Primpositionen in der Eingabezeichenfolge befinden. Die Eingabezeichenfolge für den C++-Code lautet „Hallo“. Wir finden zunächst alle Primzahlpositionen der Eingabezeichenfolge, indem wir die Logik zur Identifizierung von Primzahlen anwenden. Verwenden Sie eine for-Schleife, um die ASCII-Werte aller Zeichen der Eingabezeichenfolge zu finden. Summiert die ASCII-Werte der eingegebenen Zeichenfolgenzeichen an Primpositionen.

#include <iostream>
#include <string>
#include <vector>

using namespace std;

// User-defined function to find the prime positions 
bool find_prime(int p){
   if (p <= 1) {
      return false;
   }
   // loop to check the prime number
   for (int x = 2; x*x <= p; x++) {
      if (p % x == 0) {
         return false;
      }
   }
   return true;
}

// user-defined function to sum ASCII values of the prime position characters 
int sum_of_primes(string st) {
   int sum1 = 0;
   
   //variable to store the input string length.
   int p = st.length();
   vector<bool> primes(p+1, false);
   primes[2] = true;
   for (int x = 3; x <= p; x += 2) {
      primes[x] = find_prime(x);
   }
   for (int x = 2; x <= p; x++){
      if (primes[x] && x <= p){
         sum1 += int(st[x-1]);
      }
   }
   return sum1;
}

// controlling code
int main(){
   string st = "Hello";
   int sum1 = sum_of_primes(st);
   cout << "Sum of ASCII values of characters at prime positions: " << sum1 << endl;
   return 0;
}
Nach dem Login kopieren

Ausgabe

"Sum of ASCII values of characters at prime positions: 320
Nach dem Login kopieren

Beispiel 2

wird übersetzt als:

Beispiel 2

Hier verwenden wir eine andere Logik, um dieses Beispiel umzusetzen. Wir finden zuerst die Primzahlposition, suchen diese ASCII-Werte in der Funktion main() und fügen sie hinzu.

#include <iostream>
#include <cmath>
using namespace std;

bool isNumPrime(int n) {
   if (n < 2)
      return false;
   for (int x = 2; x <= sqrt(n); ++x) {
      if (n % x == 0)
         return false;
   }
   return true;
}

int main() {
   string str = "tutorialspoint";
   //std::cout << "Enter a string: ";
    
   int s = 0;
   for (size_t x = 0; x < str.length(); ++x) {
      if (isNumPrime(x + 1)) {
         s += static_cast<int>(str[x]);
      }
   }
   cout << "Sum of ASCII values at prime positions: " << s << endl;
   return 0;
}
Nach dem Login kopieren

Ausgabe

Sum of ASCII values at prime position: 665
Nach dem Login kopieren

Fazit

In diesem Tutorial haben wir C++-Code entwickelt, um die Summe der ASCII-Werte von Primpositionszeichen zu ermitteln. Wir haben die Funktion length() der String-Klasse verwendet, um die Länge der Parameterzeichenfolge zu ermitteln. ASCII-Werte sind vorgegebene Werte von Buchstaben und anderen Zeichen, die Computern bei der Kommunikation helfen. In diesem Tutorial haben wir zwei Beispiele mit unterschiedlicher Logik implementiert und einige C++-Bibliotheksfunktionen verwendet. Die wichtigste Bibliotheksfunktion ist length(). Die Bibliotheksfunktion length() gibt die Länge einer Zeichenfolge zurück.

Das obige ist der detaillierte Inhalt vonFinden Sie die Summe der ASCII-Werte von Zeichen in Primpositionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage