@tankle
2015-09-15T14:30:26.000000Z
字数 804
阅读 1417
面试
将一个整数使用若干素数表示,每个数字以5*3 的格式显示
- - - - - - - -| | | | | | | | | | | | | |- - - - - - -| | | | | | | | | | | | |- - - - - - -
#include <iostream>#include <vector>#include <string>using namespace std;string charc[5][10] = {{" - ", " ", " - ", " - ", " ", " - ", " - ", " - ", " - ", " - "},{"| |", " | ", " |", " |", "| |", "| ", "| ", " |", "| |", "| |"},{" ", " ", " - ", " - ", " - ", " - ", " - ", " ", " - ", " - "},{"| |", " | ", "| ", " |", " |", " |", "| |", " |", "| |", " |"},{" - ", " ", " - ", " - ", " ", " - ", " - ", " ", " - ", " - "}};void out(vector<int> num){for (int i = 0; i < 5; i++){for(int j=0; j<num.size(); j++) {if(num.size() > 1 && j > 0) {if(i == 2)cout <<"*";elsecout<<" ";}int tmp = num[j];vector<int> all;while(tmp > 0){all.push_back(tmp % 10);tmp /= 10;}for(int k = all.size()-1; k>=0; k--){cout<<charc[i][all[k]];}}cout<<endl;}}int main() {int num ;while(cin>>num){vector<int> v;int i = 2;while(i < num){if(num % i != 0)++i;else{v.push_back(i);num /= i;i = 2;}}v.push_back(i);out(v);}return 0;}