`
shukuiyan
  • 浏览: 413259 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于求含有奇数个因素的数的面试题

 
阅读更多

最近遇到的一个面试题目:

依次排列有1-k号的门,门有两种状态:开或关,初始状态都为关。然后一个人手里有k张牌,上面依次标有1-k的数字,现在这个人依次拿手中的牌上得数字去除k个门上的号码,如果能整除,则将门的状态改变,即由关变为开,或由开变为关,问最后门的状态分别是什么?

 

 

分析问题:对于每一扇门,将门号分别除以1-k中的每一个数,如果能整除,则门的状态变一次,其实就是求1-k中有多少个数是该门号的因数,例如,k取30,对于20号门,1-30中能整,20的数包括1,20,2,10,4,5,为6个,偶数个则门的状态不变,对于16号门,1-30中能整除16的数包括1,16,2,8,4,为奇数个,则16号门的状态改变。

通过列举发现规律:凡门号为完全平方数的门在1-门号的范围内存在能整除该数的因素一定为奇数个,因为,完全平方数一定含有一个因数x,使得x*x=门号,则此时的因素为x,为一个,但是对于其他的因素一定是X*Y=门号的形式,X和Y一定不相等,存在一对,则,这样完全平方数的因素为奇数个。

 

 

 

所以,1-k号门最后的状态是,门号为完全平方数的门的状态为开,其他门为关。

 

分享到:
评论

相关推荐

    Java 面试题全集

    该程序使用了一个双重循环,外层循环遍历101到200之间的所有奇数(因为偶数一定不是素数),内层循环用于判断当前数是否为素数。这里用到了平方根的计算(Math.sqrt方法),以及布尔变量来标记是否找到能整除的因数...

    面试高频算法题总结-剑指Offer题解

    面试题21:调整数组顺序使奇数位于偶数前面 面试题22:链表中倒数第k个节点 面试题23:链表中环的入口节点 面试题24:反转链表 面试题25:合并两个排序的链表 面试题26:树的子结构 面试题27:二叉树的镜像 面试题28...

    求奇数和偶数的和.rar

    在标签中再次提到“求奇数和偶数的和”,这可能表示这个压缩包文件包含了关于这个问题的一个程序或代码示例。压缩包中的"求奇数和偶数的和.exe"可能是一个已经编译好的程序,用户可以直接运行查看结果。而"工程1.vbw...

    PTA习题求奇数和.txt

    PTA上第5单元的求奇数和代码

    python实现求0—7所能组成的奇数个数

    # 题目: # 求0—7所能组成的奇数个数。 # 分析: # 组成1位数是4个。 # 组成2位数是74个。 # 组成3位数是784个。 # 组成4位数是7884个。 # ......

    c语言源码,求奇数之和 偶数之和 回文数 素数

    在本压缩包中,我们主要关注的是C语言编程实践,涉及到计算奇数之和、偶数之和、判断回文数以及素数的检测。这些是C语言编程基础中的核心概念,也是计算机科学中常见的算法问题。让我们逐一深入探讨这些知识点。 ...

    C# 面试题及答案 C# 面试题及答案

    这些知识点涵盖了C#的基础语法、面向对象特性、Web开发以及算法等多个方面,对于理解和解答C#面试题至关重要。通过深入学习和实践,开发者可以更好地掌握C#编程,从而在面试和实际工作中表现出色。

    2021Java大厂面试题——大厂真题之银盛支付-Java中级.pdf

    大厂真题之银盛支付-Java中级.pdf

    ASP.net面试题

    ASP.NET面试题主要涵盖C#基础、ASP.NET特性和编程实践等多个方面,这些知识点对于准备ASP.NET相关的面试至关重要。以下是对这些题目所涉及知识点的详细解释: 1. 访问修饰符(private、protected、public、internal)...

    Flash开发面试题

    而平方数的因数总是奇数个,因此,最终关闭的灯编号为所有的平方数,即1^2, 2^2, ..., 100^2。 #### 2. 密码单词问题 **分析**: - **问题一**:由于E后不能直接跟A、C,且根据规则(6),E后必须跟B,故选项为B。 ...

    java源代码--求n个奇数的和

    在这个程序中,`for_yuju1`类定义了一个名为`method`的静态方法,该方法接收一个整数`n`作为参数,计算并返回从1开始到第n个奇数(不包括n本身)的和。 首先,我们来看一下`main`方法。`main`方法是每个Java程序的...

    百度历年面试题答案

    ### 百度历年面试题答案解析 ...通过以上分析,我们可以看到,百度面试题涵盖了从概率题到数据库索引、再到Session管理等多个领域的问题,旨在全面考察应聘者的逻辑思维能力、计算机基础知识以及对实际应用场景的理解。

    百度最新的面试题集锦

    **总结**:本篇文章详细介绍了百度最新面试题集锦中的三道典型题目及其解答过程,包括到达1的最短步骤数、查找不可生成的数以及URL重叠问题。通过这些题目的解答,我们可以看到算法设计和优化的重要性。在实际面试中...

    C语言程序设计-若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和;

    C语言程序设计-若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和;

    大数据 笔试题 面试题

    以上就是对大数据笔试题面试题文档中提及的两个主要问题的详细知识点总结。通过这两道题目,可以学习到动态规划、二进制分析以及布尔数组在算法中如何被有效利用,同时也能体验到算法优化过程中对时间复杂度的考虑和...

    wind0926#JAVA2020#面试题21. 调整数组顺序使奇数位于偶数前面1

    面试题21. 调整数组顺序使奇数位于偶数前面题目链接面试题21. 调整数组顺序使奇数位于偶数前面题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,

    asp.net初级程序员面试题

    ASP.NET 初级程序员面试题涉及了多个核心概念和技术,以下是对这些知识点的详细解析: 1. 访问修饰符:`private`、`protected`、`public`、`internal`是C#中的访问控制修饰符,它们决定了类成员的可见性。 - `...

    求魔方(奇数)

    在这个场景中,"求魔方(奇数)"指的是编写一个C语言程序,能够在控制台上模拟奇数阶魔方的结构。奇数阶魔方通常指的是3阶、5阶、7阶等,其中3阶是最常见的,每个边有3个小立方体,总共27个面。 首先,我们要理解...

    N道c#面试题(经典奉献)

    【C#面试题详解】 1. **Property与Attribute的区别**: Property是C#中用于封装类内部数据的访问机制,提供了一种控制对私有字段的访问方式,它可以带有getter和setter方法,确保数据的安全性。Attribute则是一种...

    java基础面试题调整数组顺序使奇数位于偶数前面

    java基础面试题调整数组顺序使奇数位于偶数前面本资源系百度网盘分享地址

Global site tag (gtag.js) - Google Analytics