คำอธิบายปัญหา
ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมที่แปลงตัวอักษรพิมพ์เล็กทั้งหมดเป็นพิมพ์ใหญ่ โดยที่ค่า 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