题目:

#include <iostream>
#include <vector>
#include <string>
#include <list>
#define N 1000005
using namespace std; bool prime[N]={0};
vector<int> ps; // 存放1到N内所有素数 void fenjie(vector<int> & suyinzi, int x){ // 素因子分解
for(int i=0;i<ps.size();i++){
while(x % ps[i] ==0){
suyinzi.push_back(ps[i]);
x /=ps[i];
}
} } char str[5][31]={
"*-*****-**-*****-**-**-**-**-*",
"|*|*|***|**||*||**|****||*||*|",
"*******-**-**-**-**-*****-**-*",
"|*|*|*|****|**|**||*|**||*|**|",
"*-*****-**-*****-**-*****-**-*"
};
char print[5][4*1000]={0}; // 打印缓冲区 void set(int col, char ch){ //从col列开始设置要显示的字符
if(ch == '*'){
for(int i=0;i<5;i++) print[i][col] = ' ';
print[2][col] = '*';
return;
}
for(int i =0;i<5;i++)
for(int j=0;j<3;j++){
char temp=str[i][(ch-'0')*3 + j];
print[i][col+j] = temp == '*' ? ' ' : temp;
} }
void set(int col, string str){ ///从第col列开始,设置要显示的字符串
set(col,'*');
col ++;
for(int i=0;i<str.size();i++){
set(col,str[i]);
col += 3;
} }
string convert(int x){ //将整数转为字符串
list<char> li;
while(x!=0){
li.push_front(x%10 + '0');
x /= 10;
}
string str(li.begin(),li.end());
return str; }
int main()
{
for(int i=2;i<1000;i++){
if(prime[i]) {
continue;
}
for(int j=i+i;j<N;j+=i)
prime[j] =1;
}
for(int i =2;i< N;i++ ) if(!prime[i]) ps.push_back(i);
int x;
while(cin >> x){
vector<int> suyinzi;
vector<string> vstr;
fenjie(suyinzi,x);
for(int i=0;i<suyinzi.size();i++){
vstr.push_back(convert(suyinzi[i]));
} int count = suyinzi.size(),col=0;
::memset(print, 0,sizeof(print));
for(int i=0;i<vstr.size();i++){
set(col,vstr[i]);
col += vstr[i].size()*3+1;
} for(int i=0;i<5;i++){
for(int j=1;j<col;j++)
cout << print[i][j];
cout << endl;
} }
return 0;
}

  

XX公司在线笔试题编程题之一的更多相关文章

  1. 2016年4月21百度iOS实习生在线笔试题&编程题

    1.一个人上台阶可以一次上1个,2个,或者3个,问这个人上32层的台阶,总共有几种走法? 思路:先建立数学模型,设3步的走 i 次,2步的走 j 次, 1步的走 k 次,上了3*i + 2*j + 1 ...

  2. 剑指Offer——网易校招内推笔试题+模拟题知识点总结

    剑指Offer--网易校招内推笔试题+模拟题知识点总结 前言 2016.8.2 19:00网易校招内推笔试开始进行.前天晚上利用大约1小时时间完成了测评(这个必须做,关切到你能否参与面试).上午利用2 ...

  3. 2018春招-今日头条笔试题-第二题(python)

    题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 利用深度优先搜索 #-*- coding:utf-8 -*- class DFS: ''' num:用于存储最后执行次 ...

  4. 2018春招-今日头条笔试题-第一题(python)

    题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 要想得到输入的数字列中存在相隔为k的数,可以将输入的数字加上k,然后判断其在不在输入的数字列中即可. #-*- cod ...

  5. ThoughtWorks西邮暑期特训营 -- JavaScript在线笔试题

    ThoughtWorks 公司在西邮正式开办的只教女生前端开发的女子卓越实验室已经几个月过去了,这次计划于暑期在西邮内部开展面向所有性别所有专业的前端培训. 具体官方安排请戳:ThoughtWorks ...

  6. 小议 - 来自《XX时代XX公司》的笔试编程题目

    经过几天的雾霾,魔都终于放晴了.哥投了几天的简历,希望找到一份.NET开发方面的岗位.也收到了几个面试邀请.这不应Ge老师的要求,选了个良辰吉日,带着身份证,学位证怀揣着2B青年的梦想来这个XX公司面 ...

  7. 2014阿里巴巴WEB前端实习生在线笔试题

    2014年3月31日晚,我怀着稍微忐忑的心情(第一次在线笔试^_^!!)进行了笔试.阿里巴巴的笔试题共同拥有10道,差点儿包括了Web前端开发的各个方面,有程序题.有叙述题.时间很紧张,仅仅完毕了大概 ...

  8. 2017百度web前端实习生在线笔试题

    代码: import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s ...

  9. 2015网易校招Java开发工程师(技术架构)在线笔试题

    1.  程序和进程的本质区别是? A.在外存和内存存储 B.非顺序和顺序执行机器指令 C.独占使用和分时使用计算机资源 D.静态和动态特征 参考答案分析: 进程与应用程序的区别: 进程(Process ...

随机推荐

  1. 《敏捷软件开发:原则、模式与实践(C#版)》源代码下载

    Agile Software Development: Principles, Patterns and Practice (C# Edition)  Source Code 这本书的经典性无需多言 ...

  2. 移动端,点击a标签链接的pdf报错 Resource interpreted as Document but transferred with MIME type application/pdf

    源码: <a href="11.pdf" class="actcont_a fl report_a" style="display: block ...

  3. cron 任务执行表达式

    1.来源 开始我还不知道cron到底来源于哪里,不求甚解的我也没做过多了解,现在突然用到所以写一下. cron计划任务  其实只是linux 一个执行计划的一个工具或者执行程序. 在Linux系统中, ...

  4. .gitignore梳理

    参考来源: https://www.cnblogs.com/kevingrace/p/5690241.html 对于经常使用Git的朋友来说,.gitignore配置一定不会陌生.废话不说多了,接下来 ...

  5. StringBuffer是可变的还是不可变的?

    前言:我们知道String类的修饰符是final,其char[] value也是由final修饰的,每次给String变量赋一个新值,都会创建一个新的String对象,很多有涉及到字符串本身的改变都是 ...

  6. Miller-Rabbin 素性测试 和 Pollard_rho整数分解

    今天学习一下Miller-Rabbin  素性测试 和 Pollard_rho整数分解. 两者都是概率算法. Miller_Rabbin素性测试是对简单伪素数pseudoprime测试的改进. (ps ...

  7. PAT (Advanced Level) Practise - 1095. Cars on Campus (30)

    http://www.patest.cn/contests/pat-a-practise/1095 Zhejiang University has 6 campuses and a lot of ga ...

  8. 闭包 -------JavaScript

    本文摘要:http://www.liaoxuefeng.com/ 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个对Array的求和.通常情况下,求和的 ...

  9. C# 创建子目录

    运用DirectoryInfo类创建子目录是非常容易的,你只要调用其中CreateSubdirectory()方法即可,演示代码如下. DirectoryInfo dir = new Director ...

  10. C#的接口基础教程之四 访问接口

    对接口成员的访问 对接口方法的调用和采用索引指示器访问的规则与类中的情况也是相同的.如果底层成员的命名与继承而来的高层成员一致,那么底层成员将覆盖同名的高层成员.但由于接口支持多继承,在多继承中,如果 ...