MOOC北京理工《C语言程序设计(上)》第5周第3题:求最小m值
2016-05-04 07:07
295 查看
题目内容:
求满足下列不等式的最小 m。
1 + 2 + 3 + 4 + ...... + m ≥ n
例如:n=100,当 m =14 时,满足:1+2+3+4+...+13=91<100,而 1+2+3+4+......+14=105>100。
输入格式:
n
输出格式:
m
输入样例:
100
输出样例:
14
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,m,i,j,sum1,sum2;
scanf("%d",&n);
for(m=2;m<=n;m++)
{
sum1=0;
sum2=0;
for(i=1;i<=(m-1);i++)
{
sum1=sum1+i;
}
for(j=1;j<=m;j++)
{
sum2=sum2+j;
}
if(sum1<n&&sum2>=n)
{
printf("%d",m);
exit(0);
}
}
return 0;
}
sum1,sum2清零语句的位置要注意,昨天晚上我放到了循环的外面,结果一晚上都查不出bug,今天终于搞定了。
求满足下列不等式的最小 m。
1 + 2 + 3 + 4 + ...... + m ≥ n
例如:n=100,当 m =14 时,满足:1+2+3+4+...+13=91<100,而 1+2+3+4+......+14=105>100。
输入格式:
n
输出格式:
m
输入样例:
100
输出样例:
14
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,m,i,j,sum1,sum2;
scanf("%d",&n);
for(m=2;m<=n;m++)
{
sum1=0;
sum2=0;
for(i=1;i<=(m-1);i++)
{
sum1=sum1+i;
}
for(j=1;j<=m;j++)
{
sum2=sum2+j;
}
if(sum1<n&&sum2>=n)
{
printf("%d",m);
exit(0);
}
}
return 0;
}
sum1,sum2清零语句的位置要注意,昨天晚上我放到了循环的外面,结果一晚上都查不出bug,今天终于搞定了。
相关文章推荐
- 成为C++高手之第一个程序
- C++11 多线程
- 【步兵 c++】 多态&虚函数
- C++11 正则表达式——实例3
- C++11 正则表达式——实例2
- 关于模板编程的一个例子 来自深度探索c++对象模型
- 编译原理词法分析
- C++11 正则表达式——实例1
- C++中的命名空间、using用法、区域运算符(::)详解
- C++11:匿名函数(lambda函数/表达式)及其用法
- 状态模式-c++实现
- 第五次程序设计作业 C++计算器雏形 调用文件输入输出
- Restore IP Addresses
- 用c++写一个简单的计算器程序
- c++primer第二遍阅读感悟(chap3)
- c++写的简单计算器
- 嵌入式开发为什么要学C语言
- C语言的内存对齐机制
- Cpp_src.vim
- C++基础实例-文件Io等(5)