Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

แปลงตัวพิมพ์เล็กเป็นพิมพ์ใหญ่ที่ค่า ASCII เฉพาะตัวที่ coprime กับ k ใน C++

คำอธิบายปัญหา

ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมที่แปลงตัวอักษรพิมพ์เล็กทั้งหมดเป็นพิมพ์ใหญ่ โดยที่ค่า ASCII ของตัวอักษรนั้นเป็น coprime (เฉพาะร่วม) กับ k

สำหรับนี้ เราจะได้รับสตริงและค่าจำนวนเต็ม k งานของเราคือเดินทางผ่านสตริงที่กำหนด และเปลี่ยนเป็นตัวพิมพ์ใหญ่เฉพาะตัวอักษรที่ค่า ASCII ของมันเป็น coprime กับจำนวนเต็ม k ที่กำหนด

ตัวอย่างโค้ด

#include <bits/stdc++.h> using namespace std; //modifying the given string void convert_string(string s, int k){    int l = s.length();    for (int i = 0; i < l; i++) {       int ascii = (int)s[i];       //checking if the value is coprime with k       if (ascii >= 'a' && ascii <= 'z'&& __gcd(ascii, k) == 1) {          char c = s[i] - 32;          s[i] = c;       }    }    cout << s << "\n"; } int main(){    string s = "tutorialspoint";    int k = 3;    convert_string(s, k);    return 0; }

ผลลัพธ์

TuToriAlSPoiNT