【基础入门题013】求连续根号的值

简介: 【基础入门题013】求连续根号的值

【基础入门题】2021.11.09

(编程语言不限)F(n)=√[1+√[2+√[3+…+√[n-1+√[n]]]]], 编程求F(50), F(100), F(3000)的值(方括号表示数字在对应根号下)

50736ca8194fdd51027e72cf7fceeae4.png

编程语言:包括但不限于Python

题目来源:派森特给站每日刷题频道  


方法一:从最里层的根号开始算,初始值为√n,循环变量从n-1递减到1。

def F(n):
  res = n**0.5
  for i in range(n-1,0,-1):
    res = (i + res)**0.5
  return res
>>> F(50)
1.7579327566180045
>>> F(100)
1.7579327566180045
>>> F(3000)
1.7579327566180045
>>> 



方法二: 循环变量从n开始递减,此时初始值为0,相当最里层的看作:n+√0。

1. def F(n):
2.  res = 0
3.  for i in range(n,0,-1):
4.    res = (i + res)**0.5
5.  return res



变量也可以递增,计算式中做个减法:

1. def F(n):
2.  res = 0
3.  for i in range(n):
4.    res = (n-i + res)**0.5
5.  return res



while循环也可以,只是循环变量的自增或自减都要自己写代码:

1. def F(n):
2.  res = 0
3.  while n>0:
4.    res = (n + res)**0.5
5.    n -= 1
6.  return res
目录
相关文章
|
6月前
|
算法 测试技术 C++
【数论】【分类讨论】【C++算法】1611使整数变为 0 的最少操作次数
【数论】【分类讨论】【C++算法】1611使整数变为 0 的最少操作次数
|
6月前
|
算法 测试技术 C++
【位运算】【二分查找】【C++算法】100160价值和小于等于 K 的最大数字
【位运算】【二分查找】【C++算法】100160价值和小于等于 K 的最大数字
|
6月前
每日一题(最大连续1的个数,完全数计算)
每日一题(最大连续1的个数,完全数计算)
32 0
|
6月前
|
机器学习/深度学习 存储 算法
数据结构与算法面试题:给定非负整数 m 和 n,计算不大于 m 的数字中,素数的个数。(提示:算法原理为埃氏筛、线性筛)
数据结构与算法面试题:给定非负整数 m 和 n,计算不大于 m 的数字中,素数的个数。(提示:算法原理为埃氏筛、线性筛)
91 0
剑指offer_发散思维---数值的整数次方
剑指offer_发散思维---数值的整数次方
71 0
Leecode 面试题57 - II. 和为s的连续正数序列
Leecode 面试题57 - II. 和为s的连续正数序列
50 0
|
Python
【基础入门题001】7的倍数或包含7的正整数
【基础入门题001】7的倍数或包含7的正整数
172 0
|
C++
(排列,选择类dp)(数论同余定理,同余运算)(以背包为母题)1214. 波动数列
(排列,选择类dp)(数论同余定理,同余运算)(以背包为母题)1214. 波动数列
97 0
leetcode-829. 连续整数求和(数论)
这题求连续正整数,刚好满足等差数列,可以用等差数列求和公式 n = (i + (i + k)) * (k + 1) / 2 其中i是连续正整数的首项,k是尾项和首项的差值
114 0
leetcode-829. 连续整数求和(数论)
【LeetCode137】只出现一次的数字 II(每个数的第j列元素相加余3)
审题nums[i]都在int范围内(32位二进制),对于每个num[i]的二进制数,对于第j个位置的元素都相加,并且最后对结果的二进制数,其第j个位置的元素依次进行余3操作。
178 0
【LeetCode137】只出现一次的数字 II(每个数的第j列元素相加余3)