XX公司在线笔试题编程题之一
题目:
#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公司在线笔试题编程题之一的更多相关文章
- 2016年4月21百度iOS实习生在线笔试题&编程题
1.一个人上台阶可以一次上1个,2个,或者3个,问这个人上32层的台阶,总共有几种走法? 思路:先建立数学模型,设3步的走 i 次,2步的走 j 次, 1步的走 k 次,上了3*i + 2*j + 1 ...
- 剑指Offer——网易校招内推笔试题+模拟题知识点总结
剑指Offer--网易校招内推笔试题+模拟题知识点总结 前言 2016.8.2 19:00网易校招内推笔试开始进行.前天晚上利用大约1小时时间完成了测评(这个必须做,关切到你能否参与面试).上午利用2 ...
- 2018春招-今日头条笔试题-第二题(python)
题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 利用深度优先搜索 #-*- coding:utf-8 -*- class DFS: ''' num:用于存储最后执行次 ...
- 2018春招-今日头条笔试题-第一题(python)
题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 要想得到输入的数字列中存在相隔为k的数,可以将输入的数字加上k,然后判断其在不在输入的数字列中即可. #-*- cod ...
- ThoughtWorks西邮暑期特训营 -- JavaScript在线笔试题
ThoughtWorks 公司在西邮正式开办的只教女生前端开发的女子卓越实验室已经几个月过去了,这次计划于暑期在西邮内部开展面向所有性别所有专业的前端培训. 具体官方安排请戳:ThoughtWorks ...
- 小议 - 来自《XX时代XX公司》的笔试编程题目
经过几天的雾霾,魔都终于放晴了.哥投了几天的简历,希望找到一份.NET开发方面的岗位.也收到了几个面试邀请.这不应Ge老师的要求,选了个良辰吉日,带着身份证,学位证怀揣着2B青年的梦想来这个XX公司面 ...
- 2014阿里巴巴WEB前端实习生在线笔试题
2014年3月31日晚,我怀着稍微忐忑的心情(第一次在线笔试^_^!!)进行了笔试.阿里巴巴的笔试题共同拥有10道,差点儿包括了Web前端开发的各个方面,有程序题.有叙述题.时间很紧张,仅仅完毕了大概 ...
- 2017百度web前端实习生在线笔试题
代码: import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s ...
- 2015网易校招Java开发工程师(技术架构)在线笔试题
1. 程序和进程的本质区别是? A.在外存和内存存储 B.非顺序和顺序执行机器指令 C.独占使用和分时使用计算机资源 D.静态和动态特征 参考答案分析: 进程与应用程序的区别: 进程(Process ...
随机推荐
- 从零开始的全栈工程师——js篇2.13(字符串与数组的方法)
基类Object的子类有 Function Array Number Boolean String Date Math RegExp 函数 数组 数字 布尔 字符串 日期 算数 正则 都 ...
- POJ3233Matrix Power Series(矩阵快速幂)
题意 题目链接 给出$n \times n$的矩阵$A$,求$\sum_{i = 1}^k A^i $,每个元素对$m$取模 Sol 考虑直接分治 当$k$为奇数时 $\sum_{i = 1}^k A ...
- mysql5.6.31安装及配置
1,下载安装包解压到安装位置.下载地址https://dev.mysql.com/downloads/mysql/5.6.html#downloads 2,修改默认配置文件 在根目录下面有my-def ...
- FusionCharts使用JavaScript渲染图表(不用Flash)
FusionCharts可以让用户只使用JavaScript建立图表(而不是使用Flash),只需要添加另一行代码,如下所示: FusionCharts.setCurrentRenderer('jav ...
- 搭建zabbix服务器监控
搭建zabbix 监控服务 服务器环境Centos 7.3 修改网卡名称 高并发优化 Web环境 nginx + php-fpm 必须对nginx配置有连接优化 使用systemd服务启动nginx和 ...
- sql server 搭建发布订阅后,改端口不正常工作的问题
sql 的发布订阅,想必大家都了解,但一般都是在默认的1433的情况下搭建的,那么1433换成别的端口,发布还能正常工作吗? 在一次客户的真实场景上我就遇到了. 好了,今天不想写太多,简化下, 测试环 ...
- jQuery_3_过滤选择器
过滤选择器(过滤器)类似于CSS3里的伪类,包含 1. 基本过滤器 2. 内容过滤器 3. 可见性过滤器 4. 子元素过滤器 5. 其他方法 一. 基本过滤器 过滤器名 jQuery语法 注释 :f ...
- LeetCode Move Zeroes (简单题)
题意: 给定一个整型数组nums,要求将其中所有的0移动到末尾,并维护所有非0整数的相对位置不变. 思路: 扫一遍,两个指针维护0与非0的交界,将非0的数向前赋值就行了. C++ class Solu ...
- CentOs7 修复 引导启动
一.修复MBR: MBR(Master Boot Record主引导记录): 硬盘的0柱面.0磁头.1扇区称为主引导扇区.其中446Byte是bootloader,64Byte为Partition t ...
- IP地址与数字地址相互转换
/// <summary> /// IP地址转换成数字 /// </summary> /// <param name="addr">IP地址&l ...