搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 已知:Sn= 1+1/2+1/3+…+1/n。现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K
标题:
已知:Sn= 1+1/2+1/3+…+1/n。现给出一个整数K(1<=k<=15),要求计 ...
只看楼主
wanmeiwuque
等 级:
新手上路
帖 子:14
专家分:0
注 册:2017-12-19
结帖率:
0
楼主
已结贴
√
问题点数:10 回复次数:5
已知:Sn= 1+1/2+1/3+…+1/n。现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K
#include <stdio.h>
int main()
{
int m,n=1,sum=0;
scanf("%d",&m);
while(sum>m)
{ sum+=1/n;
n++;
}
printf("%d\n",n);
return 0;
}
这样写是不行的吗,难道我对while循环有误区?
搜索更多相关主题的帖子:
整数
要求
计算
最小
sum
2017-12-21 09:46
虫眼
等 级:
贵宾
威 望:
10
帖 子:314
专家分:1121
注 册:2017-11-29
第
2
楼
得分:5
你int sun=0 输入m,然后while(sum>m),你认为能实现么?
2017-12-21 09:55
wanmeiwuque
等 级:
新手上路
帖 子:14
专家分:0
注 册:2017-12-19
第
3
楼
得分:0
回复 2楼 虫眼
那是要用个do while循环吗
2017-12-21 10:10
wanmeiwuque
等 级:
新手上路
帖 子:14
专家分:0
注 册:2017-12-19
第
4
楼
得分:0
sum<=m
它就没结果出来,好像陷在那个循环里了。
2017-12-21 10:18
山东包子
等 级:
论坛游民
威 望:
1
帖 子:33
专家分:58
注 册:2017-12-21
第
5
楼
得分:5
定义变量有问题,不应该定义int型,应该是double ,另外循环设置条件也不对
#include <stdio.h>
int main()
{
double sum=0;
int n=1, m;
printf("请输入1至15间的一个整数\n");
scanf("%d",&m);
if(m<1 && m>15) //判断输入的数值合理性
{
printf("输入错误,程序结束\n");
return 0;
}
while(n<=m)
{
sum+=1.0/n; //
if(sum>n)
{
printf("找到的数字为%d\n",n);
}
n++;
}
printf("没有找到合适的数字\n");
return 0;
}
2017-12-21 18:01
山东包子
等 级:
论坛游民
威 望:
1
帖 子:33
专家分:58
注 册:2017-12-21
第
6
楼
得分:0
无解,我没找到这个n
2017-12-21 18:03
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-483574-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.376833 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved