为什么此代码为我的电话号码添加一个额外的零?

唐·拉恩克斯

以下代码

#include "stdafx.h"
#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

bool qualities(double number){
    //function qualities, irrelevant to question
}

int main(){
    double pandigital = 123456789;
    double sum = 0;
    string strpan = to_string(pandigital);
    while (next_permutation(strpan.begin(), strpan.end())){
        cout << strpan << endl;
        if (qualities(pandigital)){
            sum += pandigital;
        }
        next_permutation(strpan.begin(), strpan.end());
        break;
    }
    cout << "sum is " << sum << endl;
    cin.get();
}

从这段代码开始有以下问题

double pandigital = 123456789;
double sum = 0;
string strpan = to_string(pandigital);
while (next_permutation(strpan.begin(), strpan.end())){
    cout << strpan << endl;

问题是strpan附加了一个额外的零,这是一个错误。如果我在pandigital上添加零1234567890,则我们有,它将仍附加一个额外的零。

谢尔盖(Sergey Kalinichenko)

零来源于std::to_string转换doublestring:而不是生产"123456789",这让"123456789.0"

要解决此问题,请将声明pandigitalint,或在将其转换为时添加强制类型转换string

string strpan = to_string((int)pandigital);

解决了这个问题后,您需要进行另一项修复:循环的每次迭代都while调用next_permutation两次-一次在循环头中,一次在主体中。您应该删除在循环主体中执行的调用。

最后,回想一下,为了对所有可能的排列next_permutation进行排序应在对范围进行排序时进行的初始调用您的号码不是问题,因为数字是按升序排列的,但是如果您以其他号码开头,则可能会成为问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果电话号码为空,我已经设置了一个条件,记录它,否则发送它,但即使没有电话号码,条件也不会执行

来自分类Dev

注册后从帐单电话号码中删除第一个零

来自分类Dev

Java 为一个用户存储多个电话号码

来自分类Dev

如何构建一个显示我的联系人电话号码的应用

来自分类Dev

每个用户一个或多个电话号码

来自分类Dev

如何在我的自定义适配器中为我的列表视图获取一个按钮来拨打电话号码

来自分类Dev

我只想将regex_replace用于第一个字符(电话号码)

来自分类Dev

如何从电话号码中选择第一个或最后一个值?

来自分类Dev

为什么在我的Linux内核中的/ dev下添加了一个额外的HDD?

来自分类Dev

为什么“%4。”会增加我的电话号码的空间?

来自分类Dev

通过API下订单后,为什么我的CallFire电话号码不可用

来自分类Dev

尝试获取电话号码时,为什么我的活动崩溃了?

来自分类Dev

我正在使用Spark 2.1版,我有一些电话号码,需要在Scala中为相同的电话号码分配相同的随机数

来自分类Dev

为什么此代码序列给我一个错误102

来自分类Dev

Twilio高容量发件人只能使用一个电话号码吗?

来自分类Dev

LinkedinAPI:从第一个连接获取电话号码?

来自分类Dev

LinkedinAPI:从第一个连接获取电话号码?

来自分类Dev

从联系人Android获取一个电话号码

来自分类Dev

创建一个可查询电话号码或特定文本的jQuery Validate方法

来自分类Dev

Twilio高容量发件人只能使用一个电话号码吗?

来自分类Dev

编写一个程序来验证电话号码输入

来自分类Dev

正则表达式,其中一个电话号码完全包含在5至15位的范围内数字的电话号码

来自分类Dev

添加唯一的电话号码以解析注册

来自分类Dev

当没有闭包时,为什么编译器为委托添加一个额外的参数?

来自分类Dev

为什么浮点数(在 shell 中输入时)有一个额外的数字(零)

来自分类Dev

如何将我所有的联系人电话号码整理到一个数组中?

来自分类Dev

如何使用“ adduser”创建一个带有额外字段(如“工作电话”号码)的用户?

来自分类Dev

为什么我必须在此代码中添加一个新变量

来自分类Dev

为什么在Lua中使用一个额外的参数调用此函数?

Related 相关文章

  1. 1

    如果电话号码为空,我已经设置了一个条件,记录它,否则发送它,但即使没有电话号码,条件也不会执行

  2. 2

    注册后从帐单电话号码中删除第一个零

  3. 3

    Java 为一个用户存储多个电话号码

  4. 4

    如何构建一个显示我的联系人电话号码的应用

  5. 5

    每个用户一个或多个电话号码

  6. 6

    如何在我的自定义适配器中为我的列表视图获取一个按钮来拨打电话号码

  7. 7

    我只想将regex_replace用于第一个字符(电话号码)

  8. 8

    如何从电话号码中选择第一个或最后一个值?

  9. 9

    为什么在我的Linux内核中的/ dev下添加了一个额外的HDD?

  10. 10

    为什么“%4。”会增加我的电话号码的空间?

  11. 11

    通过API下订单后,为什么我的CallFire电话号码不可用

  12. 12

    尝试获取电话号码时,为什么我的活动崩溃了?

  13. 13

    我正在使用Spark 2.1版,我有一些电话号码,需要在Scala中为相同的电话号码分配相同的随机数

  14. 14

    为什么此代码序列给我一个错误102

  15. 15

    Twilio高容量发件人只能使用一个电话号码吗?

  16. 16

    LinkedinAPI:从第一个连接获取电话号码?

  17. 17

    LinkedinAPI:从第一个连接获取电话号码?

  18. 18

    从联系人Android获取一个电话号码

  19. 19

    创建一个可查询电话号码或特定文本的jQuery Validate方法

  20. 20

    Twilio高容量发件人只能使用一个电话号码吗?

  21. 21

    编写一个程序来验证电话号码输入

  22. 22

    正则表达式,其中一个电话号码完全包含在5至15位的范围内数字的电话号码

  23. 23

    添加唯一的电话号码以解析注册

  24. 24

    当没有闭包时,为什么编译器为委托添加一个额外的参数?

  25. 25

    为什么浮点数(在 shell 中输入时)有一个额外的数字(零)

  26. 26

    如何将我所有的联系人电话号码整理到一个数组中?

  27. 27

    如何使用“ adduser”创建一个带有额外字段(如“工作电话”号码)的用户?

  28. 28

    为什么我必须在此代码中添加一个新变量

  29. 29

    为什么在Lua中使用一个额外的参数调用此函数?

热门标签

归档