在本教程中,我們將學習 C 的概念,以求出現在主要位置的字元的 ASCII 值總和。質數位置是指位置為 2、3、5 或任何其他質數的字元。
ASCII(美國資訊交換標準代碼)值是字母、字母、標點符號和編碼中使用的其他字元的唯一數值。它用於與電腦通信,因為電腦無法理解人類語言。
有128個ASCII值,從0到127。大寫和小寫字母有不同的ASCII值。
我們將開發一個C 程式碼來計算位於質數位置的字元的ASCII值。我們使用了字串類別的length()函數來儲存輸入字串的長度。
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
在質數位置的字元是“e”,“l”,“o”。將這些素數位置字元的ASCII值相加。
Input string = “abcd” Sum = 197
輸入字串「abcd」中的主要位置字元是「b」和「c」。
The ASCII value of input string characters is as listed: a = 97 b = 98 c = 99 d = 100
計算字串中主要位置的字元的 ASCII 值總和。
sqrt() − 這個函式庫函數在數學函式庫中定義,它傳回輸入數字的平方根
sqrt(n)
length() − 這個字串類別庫函數傳回輸入字串的長度,長度是字串中字元的數量。
string_name.length();
我們將使用C 程式語言實作一個範例,計算位於輸入字串中質數位置的字元的ASCII值總和。 C 代碼輸入字串為「Hello」。我們首先透過應用識別質數的邏輯來找到輸入字串的所有質數位置。使用for循環找到輸入字串所有字元的ASCII值。將位於質數位置的輸入字串字元的ASCII值求和。
#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; }
"Sum of ASCII values of characters at prime positions: 320
在這裡,我們使用不同的邏輯來實作這個範例。我們先找到質數位置,在main()函數中找到這些ASCII值並相加。
#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; }
Sum of ASCII values at prime position: 665
在本教程中,我們開發了C 程式碼來找到素位置字元的ASCII值的總和。我們使用了字串類別的length()函數來找到參數字串的長度。 ASCII值是預先確定的字母和其他字元的值,用於幫助電腦進行通訊。在本教程中,我們實作了兩個具有不同邏輯的範例,並使用了一些C 函式庫函數。最重要的函式庫函數是length()。這個length()函式庫函數傳回字串的長度。
以上是找出在質數位置上的字元的ASCII值的總和的詳細內容。更多資訊請關注PHP中文網其他相關文章!