级数求和

描述

已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。

现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。

#include<iostream>
using namespace std;
int main()
{
int k,  n=0;
double s,sum=0;
cin >> k;
while (sum<=k)
{
n++;
sum = sum + 1 / (double)n;

}
cout << n;
return 0;
}

除法保留小数

a(double)/b(double)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: hamming级数是指由质数因子只包含2、3和5的一系列自然数构成的数列,其形式为1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, ...。要求我们对这个数列进行求和。 求解hamming级数求和的问题可采用动态规划的方法。首先,我们定义一个辅助数组dp,dp[i]表示hamming数列中第i个数的值。由于hamming数列的特殊性,我们可以依次遍历数列中的每一个元素,通过计算得到dp[i]的值。 具体求解过程如下: 1. 初始化dp[0]=1,i=1,j=k=m=0。 2. 进行循环,直到i等于要求的和的个数n为止: a. 根据dp[j] * 2、dp[k] * 3和dp[m] * 5的值,计算dp[i]的最小值。 b. 若dp[i]等于dp[j] * 2,则j自增;若dp[i]等于dp[k] * 3,则k自增;若dp[i]等于dp[m] * 5,则m自增。 c. i自增。 3. 返回dp数组中最后一个元素dp[n-1]作为hamming级数求和的结果。 我们可以根据以上步骤实现一个动态规划算法,通过遍历hamming数列,计算dp数组中的每个元素的最小值,最终得到hamming级数的和。 总结:hamming级数求和可以通过动态规划的方式来解决。我们根据定义的辅助数组dp,循环遍历hamming数列,计算每个元素的最小值,并将计算结果存储在dp数组中。最后,返回dp数组中的最后一个元素,即为hamming级数的求和结果。 ### 回答2: 哈明级数 是一个著名的级数,用于计算两个二进制数的差异位数。它由美国数学家理查德·哈明提出。当我们将两个二进制数逐位比较时,如果发现某一位上的数字不同,我们就称之为差异位。哈明级数就是差异位的总数。 哈明级数求和的过程比较简单。假设我们有n个二进制数字需要进行比较,求出其哈明级数的和。首先,我们将所有数字逐位进行比较,统计出每一位上的差异位数。然后,将这些差异位数相加,就可得到哈明级数的和。 举个例子,假设我们有三个二进制数字需要比较:1010、1100和1110。我们可以逐位比较它们,得到以下结果:1、2、2、1。将这些差异位数相加,得到6。因此,哈明级数求和为6。 哈明级数在计算机科学和信息理论中有广泛的应用。它常用于错误检测和纠正的编码方案中。通过计算差异位数,我们可以判断出数据传输过程中是否发生了错误,并对错误进行纠正。 总结一下,哈明级数求和是一种计算二进制数字差异位数的方法,通过统计差异位数并相加,我们可以得到哈明级数的和。这一技术在信息理论和计算机科学中有重要的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值