【PAT乙級】1086 就不告訴你
阿新 • • 發佈:2018-11-03
做作業的時候,鄰座的小盆友問你:“五乘以七等於多少?”你應該不失禮貌地圍笑著告訴他:“五十三。”本題就要求你,對任何一對給定的正整數,倒著輸出它們的乘積。
輸入格式:
輸入在第一行給出兩個不超過 1000 的正整數 A 和 B,其間以空格分隔。
輸出格式:
在一行中倒著輸出 A 和 B 的乘積。
輸入樣例:
5 7
輸出樣例:
53
個人思路
這題就是將兩個整數的積轉換成字串,然後再逆向輸出就好
有一個坑就是比如20*20 = 400,但是逆向輸出只要輸出4,從第一位非0開始輸出
程式碼實現
#include <cstdio> #include <cstring> #include <string> #include <set> #include <map> #include <vector> #include <cmath> #include <algorithm> #include <iostream> #define ll long long #define ep 1e-5 #define INF 0x7FFFFFFF using namespace std; int main() { // 輸入 int a, b; cin >> a >> b; // 將積轉化成字串 char c[10]; sprintf(c, "%d", a*b); // 反向輸出字串,從第一位非0開始輸出 bool begin = false; for (int i = int(strlen(c))-1; i >= 0; i --) { if (c[i] != '0') { begin = true; } if (begin) { cout << c[i]; } } cout << endl; return 0; }
總結
學習不息,繼續加油
1086~1090是今年九月份第一次嘗試參加PAT乙級時做的題,那段時間剛剛寫完小學期的大作業,完全沒有練手,考試狀態很不好,還有沒做出來的,這題現在看簡直太簡單了,當時緊張一下還寫了十幾二十分鐘。爭取今年12月能有信心參加甲級。