R语言学习心得-查询对称数

本文介绍了使用R语言解决一道关于对称数的作业题的心得体会。通过循环和substring()函数找到数字的位数和分段点,利用rev()进行数值反转。最终提出一种更直观的方法,直接比较首尾数字来判断对称性。
摘要由CSDN通过智能技术生成

其实是一道作业题,在实现的过程中遇到了诸多问题。

 

先看题目:

小问是层层递进的,第三问答案包含了前两问的答案,因此在此只展现第三问的答案。

(完整源码见文末)

思路:

        以1372731为例,最初我的想法是通过substring()提取前半段(137)与后半段(731)再将后半段颠倒过来和137比较是否相等。

        按照这个思路,首先我们需要找出分段点,因此需要判断位数。

x=1
while(n %/%10**x != 0)
    x=x+1
#为了方便阅览因此去掉了{}

        这里采用了循环的方式,通过将待判断的数除以10,100,1000...,之后取整,看所得数是否为0位来判断位数,若为0循环停止,不为0则x=x+1且再循环。这样所得的x即位数。

        然后通过将位数除2并取整得到分段点。

x_mean=x%/%2

        取整是出于奇数位偶数位的考虑所采用,而因此在之后使用substring()进行位数选取的后半段上就需要分别采用+1与+2.

       

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值