C++程式檢查玩笑程式設計程式碼是否生成輸出
假設我們有一個包含n個字元的字串S。在一個玩笑程式語言中,只有4條指令。
- "H" 用於列印 "Hello World"
- "Q" 用於列印其原始碼
- "9" 用於列印 "99 bottles of juice"
- "+" 用於增加累加器中儲存的值
指令 "H" 和 "Q" 區分大小寫,並且必須是大寫字母。除了這四個字元之外,其他字元都被忽略。我們有一個用這種語言編寫的程式。您必須檢查執行此程式是否會產生任何輸出。
問題類別
程式設計中的各種問題可以透過不同的技術來解決。要解決一個問題,我們首先必須設計一個演算法,為此,我們必須詳細研究特定問題。如果同一個問題反覆出現,則可以使用遞迴方法;或者,我們也可以使用迭代結構。可以使用if-else和switch case等控制語句來控制程式中邏輯的流程。有效地使用變數和資料結構可以提供更簡單的解決方案以及輕量級、低記憶體需求的程式。我們必須檢視現有的程式設計技術,例如分治法、貪心演算法、動態規劃,並找出是否可以使用它們。這個問題可以透過一些基本的邏輯或暴力方法來解決。請參閱以下內容以更好地理解該方法。
因此,如果我們問題的輸入類似於 S = "H+995jkl",則輸出將為 True,因為 H、+ 和 9 是有效的指令。
步驟
要解決此問題,我們將遵循以下步驟:
for initialize i := 0, when i < size of S, update (increase i by 1), do: c := S[i] if c is same as 'H' or c is same as 'Q' or c is same as '9', then: return true return false
示例
讓我們看看以下實現以更好地理解:
#include <bits/stdc++.h>
using namespace std;
bool solve(string S){
for (int i = 0; i < S.size(); i++){
char c = S[i];
if (c == 'H' || c == 'Q' || c == '9'){
return true;
}
}
return false;
}
int main(){
string S = "H+995jkl";
cout << solve(S) << endl;
}輸入
"H+995jkl"
輸出
1
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP