首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用C++的项目欧拉第9号

使用C++的项目欧拉第9号
EN

Stack Overflow用户
提问于 2012-07-25 12:51:57
回答 1查看 493关注 0票数 1

我写了这段代码,但在运行它时,控制台只是停留在“运行...”不会真的做任何事,至少我能看出来。我在这里有点不知所措,因为我想不出别的办法了。

代码语言:javascript
复制
#include <iostream>
#include <cmath>
#include <cstdlib>

int main(void) {
    int count = 0;
    do {

        int a = 1;
        int b = 2;
        int c = 3;
        int total;

        for (a=1;a<b;a++) {
            for (b=2;b<c;b++) {
                for (c=3;c<=1000;c++) {
                    total = a+b+c;

                    if (total == 1000 && a*a + b*b == c*c) {
                        std::cout << a << ", " << b << ", " << c;

                    }
                }
            }
        }



        count++;

    } while(count < 1000);  
    return 0;
    std::cin.get();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-25 13:08:21

您可能看不到任何输出,因为您的终端是行缓冲的,并且您从不编写换行符或刷新流。要解决此问题,可以将std::endl添加到输出行:

代码语言:javascript
复制
std::cout << a << ", " << b << ", " << c << std::endl;

这样,一旦找到所有的三元组,您就会看到它们,但程序仍然需要很长时间才能完成。甚至可能需要很长时间才能找到任何结果。您可以通过避免一些嵌套循环来加快程序运行速度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11642935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档