mmmm0303 2022-09-04 11:36 采纳率: 68.8%
浏览 59
已结题

有关k和n的关系,相关的关系式

(1) l ← 1
(2) k ← 0
(3) for i ← 1 to n do
(4) l ← i - l
(5) if k < n do
(6) k ← i * i - 1
(7) return( k, l )

求问一下k和n有什么关系吗?比如说能不能求出k(n)=x,类似于这样有个关系式的

  • 写回答

7条回答 默认 最新

  • 关注

    这个伪代码中,先只看k和n的关系,k初始值为0,在(3)进入for循环,第(5)~(6)两句,说明,只要k<n就执行k=i * i-1,所以,需要找到k与n的临界点。当n<=1的时候,代码不执行for循环,此时k就是0,所以重点研究n大于以后的数据:
    (伪代码 for i ← 1 to n ,i 的范围为[1,n) )
    当n<=1的时候,for循环不执行,k=0
    当n>1的时候,执行for循环(i从1到n-1),
    i=1时,k=0,满足k<n,执行k=i * i-1=0 ,所有n全部满足
    i=2时,k=0,满足k<n,执行k=i * i-1=3,所有n全部满足
    i=3时,k=3,满足k<n,执行k=i * i-1=8,所有n全部满足
    i=4时,k=8,满足k<n,执行k=i * i-1=15,n=5、6、7、8时不满足,此时 i = sqrt(9)+1
    i=5时,k=15,满足k<n,执行k=i *i-1=24,n=6,7,8,9,10,11,12,13,14,15时不满足,此时i=sqrt(16)+1
    依次类推。。。

    1<n<=4时,执行for中所有的语句,此时k=(n-1) * (n-1)-1
    n>=5时,满足if执行条件的i的最大值为:sqrt(n)+1,所以此时,k=(sqrt(n)+1) * (sqrt(n)+1)-1
    综合以上,k(n)就是一个分段函数:
    k(n)=0, 当n<=1时
    k(n)= (n-1) * (n-1)-1, 当1<n<=4时
    k(n)= (sqrt(n)+1) * (sqrt(n)+1)-1, 当n>=5时

    如有帮助,望采纳,谢谢。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 9月17日
  • 已采纳回答 9月9日
  • 创建了问题 9月4日

悬赏问题

  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊