dingrui_逻辑笔试题

本文分享了几道面试中遇到的逻辑题,包括数列规律、经济交易分析、变量交换技巧、时钟重合次数及金条分配问题。通过详细解答,帮助读者理解不同类型的逻辑思维题目。

今天遇到了面试的几个逻辑题,给大家分享下:

1.1=5 2=15 3=215 4=2145 5=?

 

答案:

由1=5,2=15,3=215,4=2145,可推断,5等于1或者21485。
下面就此做详细说明:
(1)若此题属于“脑经急转弯”类型,那么显然,既然前面有“1=5”,那么必然就有后面的结果“5=1”,而不去考虑其它因素的干扰;
(2)若此题属于“数学逻辑推理”类型,可以将结果进行拆分,“1=5”中1-0=1且1为2的0次方,“2=15”中3-1=2且2为2的1次方,“3=215”7-3=4且4为2的2次方“4=2145”中2+1+4=7且x-7=8(根据不完全归纳法,推断应为2的3次方即8),所以5的形式应该为“5=214y5”,求得:x=15,所以有y=15-7=8,所以可推断“5=21485”,推理过程到此结束。

2.
一个人花8块钱买了一只鸡,9块钱卖掉了,然后他觉得不划算,花10块钱又买回来了,11块钱买给另外一个,问他赚多少?

有三种算法:
1.最初只有8块钱,最后你有11块了,
所以是赚3块; 
2.第一次买卖,主人公损失8块,获得一只鸡,第二次买卖;主人公获得9块,损失一只鸡 
;第三次买卖,主人公损失10块,获得一只鸡;第四买卖,主人公获得11块,损失一只鸡 
所以 整个产生的GDP(国内生产总值)是8+9+10+11=38元+4只鸡 
3.整个事件有3次交易,我门来看看具体是哪3次?
第一次交易:8元买进,9元卖出,利润1元; 
第二次交易:9元卖出,10元买进,利润-1元; 
第三次交易:10元买进,11元卖出利润1元; 
1-1+1=1元 
所以分析得知:这个人是个傻子,因为后两次交易等于白干了.
经测试,企业认为:
回答利润是2元的肯定是面试失败者; 
回答3元的更为愚蠢,因为自己什么是追加成本都不知道,肯定也是失败; 
回答1元者,恭喜你,不属于傻子范围; 
结果是:本来可以直接赚3元的,经过他3次交易后总利润变成1元了.
所以正确答案是:-2元!
回答-2元者,面试成功!

3.不使用任何中间变量如何将a、b的值进行交换(三种方法)

https://blog.youkuaiyun.com/sugarbliss/article/details/80323604

4.时钟和分钟一天重合几次

初听起来,这个说法似乎很对,但事实上,分针与时针一天里只重叠22次.
为什麼呢?怎麼会少了两次呢?仔细的想一下,就可以明白了.虽然分针走一圈,会和时针重叠一次,但是分针走的时候,时针并不是静止不动的;原来分针每走12圈,时针自己也要走一圈;因此,对时针来说,分针只绕时针走了11圈.
当分针走了24圈的时候,时针也走了2圈;因此,分针绕时针只走了22圈,所以只重叠22次

5.你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条

分成比例1:2:4的三段,因为两次弄断就是三段,第一天你给1,第二天你给2,找回你1,你自己就有1和4,第三天再给1,自己剩下4,第四天给4,然后叫他把1.2找给你,第五天给1,第六天给2叫他1找给你,第七天把最后1给他

 

 

 

 

 

 

 

 

 

 

 

 

package com.tplink.tether.tether_4_0.component.more.upnp.repository import androidx.lifecycle.MutableLiveData import com.tplink.apps.extensions.resource.Resource import com.tplink.libtputility.serialize.CloneUtils import com.tplink.tether.network.tmp.TMPAppV1OpCode import com.tplink.tether.network.tmp.context.NetworkContext import com.tplink.tether.network.tmpnetwork.repository.base_cache.NetworkCacheBaseRepository import com.tplink.tether.tether_4_0.component.more.upnp.repository.bo.UPnPClientList import com.tplink.tether.tether_4_0.component.more.upnp.repository.bo.UPnPEnableBean import com.tplink.tether.tmp.model.WebApiParams import io.reactivex.Completable import io.reactivex.Observable /** * author: dingrui * created on: 2024/11/19 * description: */ class UPnPRepository(networkContext: NetworkContext) : NetworkCacheBaseRepository( networkContext ) { private var uPnPEnableBean: UPnPEnableBean? = null private var uPnPEnableCache: UPnPEnableBean? = null private var uPnPClientListResult: UPnPClientList? = null private val uPnPEnableLiveData = MutableLiveData<Resource<UPnPEnableBean>>() fun getUPnPStatus(): Observable<UPnPEnableBean> { return postRequestForGet( TMPAppV1OpCode.TMP_OP_UPNP_CONFIG_GET, null, UPnPEnableBean::class.java, UPnPEnableBean::class.java, { it }, null, EXTRA_TAG_UPNP_ENABLE, uPnPEnableLiveData ) .toObservable() } fun setUPnPStatus(params: UPnPEnableBean): Completable { return postRequestForSet( TMPAppV1OpCode.TMP_OP_UPNP_CONFIG_SET, params, UPnPEnableBean::class.java, UPnPEnableBean::class.java, null, { uPnPEnableCache = CloneUtils.clone(uPnPEnableBean) uPnPEnableBean = params uPnPEnableBean }, { uPnPEnableBean }, { uPnPEnableBean = CloneUtils.clone(uPnPEnableCache) uPnPEnableBean }, EXTRA_TAG_UPNP_ENABLE, uPnPEnableLiveData ) .ignoreElement() } fun getUPnPClientList(): Observable<UPnPClientList> { return getUPnPClientListByPage(0, PAGE_SIZE) } private fun getUPnPClientListByPage( startIndex: Int, requireAmount: Int ): Observable<UPnPClientList> { return loadFromDataBaseWhenList( startIndex, EXTRA_TAG_UPNP_CLIENT_LIST, UPnPClientList::class.java, null ).andThen( postRequestForGet( TMPAppV1OpCode.TMP_OP_UPNP_CLIENT_GET, WebApiParams(startIndex, requireAmount, "list"), UPnPClientList::class.java ).toObservable() ) .flatMap { val start = it.startIndex ?: 0 val amount = it.amount ?: 0 if (start == 0) { uPnPClientListResult = it } else { it.list?.let { list -> uPnPClientListResult?.list?.addAll(list) } } return@flatMap if (amount == 0 || (it.sum ?: 0) <= start + amount) { saveToDatabase(EXTRA_TAG_UPNP_CLIENT_LIST, it) Observable.just(uPnPClientListResult) } else { getUPnPClientListByPage(start + amount, amount) } } } override fun getModuleTag(): String? { return MODULE_TAG } companion object { private const val EXTRA_TAG_UPNP_ENABLE = "uPnPEnable" private const val EXTRA_TAG_UPNP_CLIENT_LIST = "uPnPClientList" private const val PAGE_SIZE = 32 private const val MODULE_TAG = "UPnP" } }和package com.tplink.tether.tether_4_0.component.more.upnp.repository import androidx.lifecycle.LiveData import androidx.lifecycle.MediatorLiveData import com.tplink.apps.data.nat.upnp.model.UPnPClientInfo import com.tplink.apps.data.nat.upnp.repository.UPnPRepository import com.tplink.tether.network.tmp.context.NetworkContext import com.tplink.tether.network.tmpnetwork.repository.base.TMPRepositoryProviders import com.tplink.tether.tether_4_0.component.more.internetconnection.advance.nat.repository.NatWanRepository import com.tplink.tether.tether_4_0.component.more.upnp.repository.bo.UPnPEnableBean import io.reactivex.Completable import io.reactivex.Observable import javax.inject.Inject /** * author: dingrui * created on: 2024/11/18 * description: */ class TopoUPNPRepository @Inject constructor(private val networkContext: NetworkContext) : UPnPRepository { private val uPnPRepository: com.tplink.tether.tether_4_0.component.more.upnp.repository.UPnPRepository by lazy { TMPRepositoryProviders.create( networkContext, com.tplink.tether.tether_4_0.component.more.upnp.repository.UPnPRepository::class.java ) } private val natWanRepository by lazy { TMPRepositoryProviders.create( networkContext, NatWanRepository::class.java ) } override fun isNATSupport(): Boolean { return networkContext.isNatSupport() } override fun isUPnPPortMapTableSupport(): Boolean { return true } override fun getUPnPStatus(): Observable<Boolean> { return uPnPRepository.getUPnPStatus().map { it.asBoolean() } } override fun setUPnPStatus(enable: Boolean): Completable { return uPnPRepository.setUPnPStatus(enableSDK2UPnPEnableResult(enable)) } override fun getUPnPPortMapTable(): Observable<List<UPnPClientInfo>> { return uPnPRepository.getUPnPClientList() .map { it.list?.map { item -> item.asUPnPClientSDK() } } } override fun getNATEnableStatus(): Observable<Boolean> { return natWanRepository.getNatStatus().map { it.enable == "on" } } override fun getNATEnableStatusLiveData(): LiveData<Boolean> { val natEnableStatusLiveData = MediatorLiveData<Boolean>().apply { addSource(natWanRepository.getNatStatusLiveData()) { postValue( if (it.data != null) { it.data?.enable == "on" } else { false } ) } } return natEnableStatusLiveData } } fun UPnPEnableBean.asBoolean(): Boolean { return when (enable) { "on" -> true "off" -> false else -> false } } fun enableSDK2UPnPEnableResult(enable: Boolean): UPnPEnableBean { val uPnPEnableBean = UPnPEnableBean() if (enable) { uPnPEnableBean.enable = "on" } else { uPnPEnableBean.enable = "off" } return uPnPEnableBean } fun com.tplink.tether.tether_4_0.component.more.upnp.repository.bo.UPnPClient?.asUPnPClientSDK(): UPnPClientInfo { return if (this == null) { UPnPClientInfo() } else { UPnPClientInfo( leaseTime, name, externalPort, internalPort, ipAddress, protocol ) } }有什么区别 为什么要分开写
最新发布
09-30
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迅捷的软件产品制作专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值