如何生成数字,直到它们大于10 000
How to generate numbers until they are bigger than 10 000
#include <iostream>
using namespace std;
int main()
{
int num=1;
while(num<10000)
{
num=num*3;
cout<<num<<",";
}
}
最后一个输出是19683,但应该是6561。我应该如何更改条件?
, num
为 6561
,条件 num < 10000
仍然满足,因此再次输入循环。
写...
int num=1;
do
{
cout<<num<<",";
num=num*3;
}
while(num<10000);
使得循环一旦num
超过10000
,并且对于此类值,将不再执行cout
。请注意,cout
和num*=3
已切换,因此该循环还打印1
(与您的相比之下)。但是我认为它也应该打印1
,所以这就是为什么我敢于稍微更改语义:-)的原因。否则,您必须像int num = 3
一样启动num
。
使用do-while
块:
#include <iostream>
int main() {
int num = 1;
do {
std::cout << num << " ";
} while ((num *= 3) < 10000);
return 0;
}
它将打印:
1 3 9 27 81 243 729 2187 6561
live。
利用您可以使用分配结果的事实:
#include <iostream>
int main()
{
int num = 1;
while((num *= 3) < 10000)
{
std::cout << num << 'n';
}
}
打印:
3
9
27
81
243
729
2187
6561
在乘法之前放置cout,程序将首先显示一个小于10000的数字,然后将num乘以3. 3. THES 6561,并显示6561*3> 10000,因此它退出了循环不打印19683。
相关文章:
- 我在c++代码中生成了一个运行时#3异常
- Cppcheck生成xml转储文件
- 如何使用CMake编译.proto文件来生成.grpcp.pb.cc和.grpc.pb.h文件
- 如何在C++中使用结构生成映射
- 使用 C/C++ 宏生成函数签名
- 大于65535的C++数组[size]引发不一致的溢出
- "unknown ca"自生成的 CA、证书和客户端/服务器
- 如何从具有移动语义的类对象中生成共享指针
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 查找最接近的大于当前数字的数字的索引
- 生成文件不对文件使用隐式规则
- boost::asio如何生成多个协同程序,然后加入它们
- Python中的for循环与C++有何不同
- C++错误C2600:无法定义编译器生成的特殊成员函数(必须首先在类中声明)
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- 使用外部SDK工具链文件在VisualStudio上生成项目编译错误
- 生成MRPT库时cmake配置失败
- 如何生成数字,直到它们大于10 000
- 生成大于32767的随机数
- Std::map::lower_bound正在为大于2000的map键生成核心转储