2016年6月10日 星期五

台中女中b009~b010

b009: 無限猴子定理
讀入2個字串s1s2,長度為n1n2,問是否可由s2n1個字(順序不可對調)湊成s1
例如:{s1=ABCs2=AXBXC}可,但{s1=YESs2=YXyesS}不可:因找不到E
    
{s1=YESs2=YXyesSE}也不可:因SE順序不對
宣告字串s1,s2、宣告整數n1,n2, i,j string s1,s2; int n1,n2,i,j;
讀入兩個字串 cin >> s1 >> s2;
設定字串長度: n1=s1.size(); n2=s2.size();
s2i=0~n2-1一個一個往後找:  for(i=0,j=0;  i<n2 && j<n1;  ++i)
若與s1[j]同則j+1{j0開始}      if( s2[i] == s1[j] ) ++j;
註:迴圈i>=n2j>=n1結束{ for迴圈可同時設兩個初值以逗號隔開 }
迴圈結束時若jn1則表示s1沒找完整:if(j != n1) cout <<”NO” << endl;
            否則就是可以找到:      else cout <<”YES” << endl;
    
b010: 編碼破解
讀入1個字串s{只有大寫字母}解碼印出 {每個字母往前2格,C->AD->B、…、B->ZA->Y}
例如:{s= UVQR解碼後=STOP}{s= FWVA解碼後=DUTY}
宣告字串s、宣告整數n, i,j string s; int n,i,j;
讀入字串 cin >> s;
設定字串長度: n=s.size();
迴圈i=0~n-1S的每個字元:   for(i=0; i<n ; ++i) { 以下兩行   }
轉成0~25{A~Z}的對照碼 j     j= (s[i]-'A'+24)%26;  //有更正
將對照碼轉成字元印出A~Z    cout << char('A'+j);
印完所有字元後,再印換行    cout << endl;
註:大寫字母A~Z的字元在電腦內部存成整數值A65 ~ Z90
例:UVQR
i
s[i]
s[i]
轉成j
char(‘A’+j)
0
U
85
18
char(83)
S
1
V
86
19
char(84)
T
2
Q
81
14
char(79)
O
3
R
82
15
char(80)
P
例:FWVA
i
s[i]
s[i]
轉成j
char(‘A’+j)
0
F
70
5
char(3)
D
1
W
87
20
char(20)
U
2
V
86
19
char(19)
T
3
A
65
0
char(24)
Y


Related Posts:

  • P2A寒假作業(第3章) // 參考 p3.24 {習題3-1 分數統計(stat) 整數版位數 digit}  /* p3-24 習題 3-1-a 分數統計(stat) 整數版 輸入 若干個非負整數n{ 0<=n<=100 },直至n為-1才停,-1不列入統計,輸入的數字間以白空白隔開 統計出現次數… Read More
  • P2A寒假作業(第2章) 章末習題之 c++ 版 解題參考,不開檔只用 cin+cout // 參考 p2.22 {習題2-1 位數 digit}   不用檔案,一律 cin+cout #include <iostream> using namespace std; int main… Read More
  • 國中 C++ 講義 - 心想數字猜心想數字,製作 n 張卡片, 問別人心中所想的數字在不在這些卡片中 然後可快速的猜出 別人所想的數字 好像「猜心想數字」的超連結在IE無法顯示將docx檔複製如下 有下列五張卡片,分別寫上一些數字 請別人心中想一個數字(0~31) 然後分別亮出A,B,C,D,E卡,問 他(她… Read More
  • 國中部 C++ 甄選講義講義的word檔 (好像IE無法開啟?),以下為複製過來、版面可能有點變形 你適合學C++嗎? 1、         現在不會C++沒關係、我們從頭開始教{有耐心即可} 2、  &nb… Read More
  • Z2AB技競模考模考檔案下載 試題 參考程式碼 … Read More

0 意見:

張貼留言