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
PHPznach vorne
2023-09-11 20:29:12659Durchsuche

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
In the above string “Hello” the ASCII value of each character is 
H =  72
e = 101
l = 108
l = 108
o = 111

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

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

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)
  • 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(); 

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;
}

Ausgabe

"Sum of ASCII values of characters at prime positions: 320

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;
}

Ausgabe

Sum of ASCII values at prime position: 665

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen