小编Lea*_*Lea的帖子

找出200万以下所有素数的总和.项目欧拉,C

所以,一切似乎都运行良好,但程序没有给我正确的答案.我的是142,915,960,832,而应该是142,913,828,922.差异是2,131,910(如果我仍然可以减去纸上的数字哈哈),我不知道我从哪里获得这两百万.谁能帮助我?

#include <stdio.h>
#include <math.h>

#define BELOW 2000000

int isaprime (int num);

int main (void) {

    int i;
    float sum = 0;

    for (i = 2; i < BELOW; i++) {

            if (isaprime(i) == 1) {
                    sum = sum + i;
                    printf ("\n%d\t%.1f", i, sum);
            }
    }

    getch();
    return 0;
}

int isaprime (int num) {

    int i;

    for (i = 2; i <= sqrt(num); i++) {
            if (num % i == 0) {
                    return 0;
            }
            else {
                    ; …
Run Code Online (Sandbox Code Playgroud)

c

7
推荐指数
2
解决办法
3万
查看次数

从map <key,set <datatype >>访问元素

我正在使用如下所示的数据结构:

map<string, set<string>> data;
Run Code Online (Sandbox Code Playgroud)

到目前为止,我使用foreach循环处理地图没有任何问题,但是,现在我需要打印出地图中的数据,如下所示:

KEY: elem1, elem2, elem3
KEY2: elem1, elem2, elem3
Run Code Online (Sandbox Code Playgroud)

由于最后缺少逗号,我不能再使用foreach循环了(我可以吗?).由于我是C++,C++ 11以及它提供的所有乐趣的新手,我很遗憾.我提出了:

for ( auto i : data )
{
    cout << i.first << ": ";
    for ( size_t i = 0; i < /* size of the set */ - 1; i ++ )
        cout << j << ", ";

    cout << /* the last element of the set */ << endl;
}
Run Code Online (Sandbox Code Playgroud)

我知道我想要什么,我只是不知道语法和C++参考没有多大帮助.感谢您的回答,同时我将自己浏览C++参考.

c++ map set c++11

5
推荐指数
1
解决办法
331
查看次数

标签 统计

c ×1

c++ ×1

c++11 ×1

map ×1

set ×1