一些看起来简单做起来难的程序员笔试面试题集锦

1、判断三个bool值中是否至少有两个bool为真?

  此题有几种不同的解法

  (1)传统解法

bool leastTwo(bool a, bool b, bool c){return (a&&b) || (b&&c) || (c&&a);
}

  (2)如果学过电路的可以考虑利用卡诺图化简

return a?(b || c) : (b && c);

  或者

return a && (b || c) ||(b && c);

  (3) 使用异或运算 true ^ true = false;   true^false = true; false^true = true; false^false = false;

return a^b ? c : a;

  (4)计数true的个数

return ((a?1:0)+(b?1:0)+(c?1:0)) >= 2;

2、通过增加或是修改一个字符,是下面c程序输出20个减号

int n = 20;
for(int i = 0; i < n ; i --){printf("-");  
}

此题主要考虑for循环的使用功底,由于输出20个减号,大致的程序都不变,要考虑怎么从for括号的循环条件修改

for(int  i = 0 ; -i < n; i --)for(int i = 0 ; i < n ; n--)for(int i = 0 ; i +n ; i -- )

3、不用任何循环语句和条件语句,打印1到100的数

  此题首先想到的是递归,但递归不是面试官想要的,面试官肯定会接着问 “还有其他方法吗?”

  (1)利用构造函数实现,生成100个对象,即可以打印100次。

 

class Printer
{
public:Printer() { static unsigned i=1; cout << i++ << endl; }
};int main()
{Printer p[100];
}

 

  (2)利用模板特化的性质实现。

template <int N>
struct Print{static void print(){Print<N-1>::print();printf("%d\n",N);      }      
}template <>
struct Print<1>{static void print(){printf("1\n");  }      
}

  类似题目:求1+2+……+n,要求不能用以下符号:*, /, for, while, if, else, switch, case, ?:.

 

转载于:https://www.cnblogs.com/xiongqiangcs/p/3955726.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492933.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何防止基因编辑技术突破底线:警惕科学狂人再现

作者&#xff1a;胡丹萍 吴跃伟 刘楚来源&#xff1a;澎湃新闻从前隅于学界的基因编辑一词&#xff0c;在2018年&#xff0c;有如一声惊雷传入寻常百姓家。DNA和基因是生物体的核心代码&#xff0c;使用一组生物分子像剪刀或橡皮一样精确地改变基因序列即基因编辑技术。几十年来…

二分查找算法java

二分查找又称折半查找&#xff0c;它是一种效率较高的查找方法。 折半查找的算法思想是将数列按有序化(递增或递减)排列&#xff0c;查找过程中采用跳跃式方式查找&#xff0c;即先以有序数列的中点位置为比较对象&#xff0c;如果要找的元素值小于该中点元素&#xff0c;则将待…

opencv简单的矩阵操作

OpenCV的基本矩阵操作与示例 OpenCV中的矩阵操作非常重要&#xff0c;本文总结了矩阵的创建、初始化以及基本矩阵操作&#xff0c;给出了示例代码&#xff0c;主要内容包括&#xff1a; 创建与初始化矩阵加减法矩阵乘法矩阵转置矩阵求逆矩阵非零元素个数矩阵均值与标准差矩阵全…

中科院院士丁汉:数字化制造、机器人、人工智能是智能制造 “三驾马车”

丁汉院士演讲1月10日&#xff0c;由中国机电一体化技术应用协会、北京理工大学智能机器人与系统高精尖创新中心、中关村智友天使学院、机器人大讲堂(立德共创服务平台)、中关村融智特种机器人产业联盟和中关村信息谷等单位共同举办的2019年中国机器人行业年会在北京召开。会上&…

图像拼接---图片柱面投影简单实现

算法思想参考&#xff1a;http://blog.csdn.net/weixinhum/article/details/50611750 柱面投影是图片拼接的前期的一部分工作&#xff0c;以下代码只是简单的实现了投影&#xff0c;还可以优化&#xff0c; 柱面半径设置位图片宽度的一半&#xff0c;即 R width/2 代码运算…

photoshop问题

1、路径与形状有什么区别&#xff1f; 2、矢量蒙板作用及生成&#xff1f; 形状工具 U 可以生成 3、路径和形状的区别&#xff1f; 路径 矢量选区&#xff0c;半成品可转为蒙板&#xff0c;形状转载于:https://www.cnblogs.com/anjsxz/p/3963400.html

从消费端到企业端,从设备到数据:物联网市场的爆发式增长

来源&#xff1a;资本家实验室随着越来越多的设备接入网络&#xff0c;并实现相互沟通&#xff0c;我们正在加速进入“万物互联”的时代。在此背景下&#xff0c;连接设备的数量、产生的收入和数据量也将呈现惊人的增长&#xff1a;到2020年&#xff0c;全球连接设备数量将达到…

《LoadRunner 没有告诉你的》之四——理解性能

本文是《LoadRunner没有告诉你的》系列文章的第四篇&#xff0c;在这篇短文中&#xff0c;我将尽可能用简洁清晰的文字写下我对“性能”的看法&#xff0c;并澄清几个容易混淆的概念&#xff0c;帮助大家更好的理解“性能”的含义。 如何评价性能的优劣: 用户视角 vs. 系统视角…

容斥原理---概念介绍

容斥原理---概念介绍 容斥原理是一种基本的计数工具。 假设我们有N个对象的集合A&#xff0c;设a1, a2,…, ar是这些对象可能有的性质的集合&#xff0c;设N(ai )是有性质ai的对象数目。一个对象可能有若干个所讨论的性质&#xff08;或一个性质也没有&#xff09;。设N(a’i …

c#自动更新+安装程序的制作

一、自动更新的实现 让客户端实现自动更新&#xff0c;通常做法是在客户端部署一个单独的自动更新程序。主程序启动后&#xff0c;访问服务端&#xff0c;检查配置文件是否有更新版本&#xff0c;有更新版本就启动更新程序&#xff0c;由更新负责下载更新版本&#xff0c;并更新…

中国AI科研产出全球第一 但引文影响力低

来源&#xff1a;科学网 日前&#xff0c;爱思唯尔发布了《人工智能&#xff1a;知识的创造、转移与应用》报告&#xff0c;分析了全球人工智能科研的发展趋势。报告显示&#xff0c;2017年中国在人工智能领域出版的文章数量位列全球第一&#xff0c;科研产出已在2004年超过美国…

OpenCV--SIFT算法检测特征点

代码选自&#xff1a;http://blog.csdn.net/zhaocj/article/details/42124473 SIFT算法是用来检测图像中特征点的&#xff0c; 代码如下&#xff1a; opencv版本:2.4.9 #include "opencv2/opencv.hpp" #include "opencv2/imgproc/imgproc.hpp" #include…

对话 Geoffrey Hinton Demis Hassabis :人工智能离我们有多远?

来源&#xff1a;AI科技评论预测用户喜欢的音乐类型、检测出转移性肿瘤、生成脑癌的综合扫描、利用真实世界中拍摄的视频创造出虚拟环境、识别出被拐卖的人口、击败国际象棋大师以及专业的 Dota2 电竞团队、帮助 Alphabet 旗下的 Waymo 首次推出商业无人驾驶出租车服务、代替出…

SharePoint 2013 关于自定义显示列表表单的bug

1、在SharePoint 2013中&#xff0c;我们隐藏列表Dispform页面的ListFormWebPart部件&#xff0c;转而使用自定义显示列表表单进行展示&#xff0c;因为这样更容易定制我们需要的显示&#xff1b; 2、之后发现文件夹下的文档&#xff0c;查看属性会报错&#xff0c;如下图&…

SIFT算法中概念简单解释

尺度空间 真实世界的物体只有在一定尺度上才有意义&#xff0c;例如我们能够看到放在桌子上的水杯&#xff0c;但对于整个银河系&#xff0c;这个水杯是不存在的。物体的这种多尺度的本质在自然界中是普遍存在的。尺度空间就是试图在数字图像领域复制这个概念。又比如&#xf…

发布|CES 2019 科技趋势(附40页PPT)

来源&#xff1a;Robot未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#xff1b;开展互联网&#xff…

UVAL - 6755 - Swyper Keyboard

先上题目&#xff1a; https://icpcarchive.ecs.baylor.edu/external/67/6755.pdf 题目复制起来比较麻烦。 题意&#xff1a;定义一种操作&#xff1a;给出一个字符串&#xff0c;然后手指就按照给出的字符串的字符出现顺序不离开触摸屏那样移动&#xff0c;这样最后就会得到一…

Ransac算法简介

给定两个点p1与p2的坐标&#xff0c;确定这两点所构成的直线&#xff0c;要求对于输入的任意点p3&#xff0c;都可以判断它是否在该直线上。初中解析几何知识告诉我们&#xff0c;判断一个点在直线上&#xff0c;只需其与直线上任意两点点斜率都相同即可。实际操作当中&#xf…

2018年AI和ML(NLP、计算机视觉、强化学习)技术总结和2019年趋势

来源&#xff1a;网络大数据1、简介过去几年一直是人工智能爱好者和机器学习专业人士最幸福的时光。因为这些技术已经发展成为主流&#xff0c;并且正在影响着数百万人的生活。各国现在都有专门的人工智能规划和预算&#xff0c;以确保在这场比赛中保持优势。数据科学从业人员也…

HDU 2421

由算术基本定理Np1^e1*p2^e2....ps^es&#xff0c;可知一个素的因子个数为(e11)*(e21)*...*(es1)。 而N的一人因子必定也有np1^k1*p2^k2。。。。*ps^ks的形式。因子个数形式同上。 而事实上&#xff0c;即是从ei中选取其中一些来充当k1。那么&#xff0c;所有的因子的个数之和必…