@tankle
2015-09-15T14:30:26.000000Z
字数 804
阅读 1352
面试
将一个整数使用若干素数表示,每个数字以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 <<"*";
else
cout<<" ";
}
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;
}