Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将这行Python转换为C++;?_Python_C++ - Fatal编程技术网

如何将这行Python转换为C++;?

如何将这行Python转换为C++;?,python,c++,Python,C++,抱歉,如果这是一个有点简单的问题,但我真的很难将Python程序的最后一行代码转换为C++ 代码行是: if all(x % k == 0 for k in range(1, 21)) 这基本上是为了检查X是否可以被所有的数字1-20整除 有人知道我如何转换这个吗 编辑:程序周围的一些上下文: x = 0 while(x != -1): x = x + 20 if all(x % k == 0 for k in range(1, 21)):

抱歉,如果这是一个有点简单的问题,但我真的很难将Python程序的最后一行代码转换为C++

代码行是:

if all(x % k == 0 for k in range(1, 21))
这基本上是为了检查X是否可以被所有的数字1-20整除

有人知道我如何转换这个吗

编辑:程序周围的一些上下文:

    x = 0
    while(x != -1):
        x = x + 20
        if all(x % k == 0 for k in range(1, 21)):
            print(x)
            return 0

一种简单的方法是实现编写自己的循环:

bool test_something(int x)
{
  for (int i = 1; i < 21; ++i)
  {
    if (x % i != 0) return false;
  }
  return true;
}
bool测试(int x)
{
对于(int i=1;i<21;++i)
{
如果(x%i!=0)返回false;
}
返回true;
}

一个简单的方法是实现编写自己的循环:

bool test_something(int x)
{
  for (int i = 1; i < 21; ++i)
  {
    if (x % i != 0) return false;
  }
  return true;
}
bool测试(int x)
{
对于(int i=1;i<21;++i)
{
如果(x%i!=0)返回false;
}
返回true;
}

类似这样的事情可能:

#include <algorithm>
#include <numeric>
#include <vector>
#include <iostream>

int main()
{
    int x = 10; // or whatever...

    // create vector of 20 ints
    std::vector<int> range(20);
    // fill vector with increasing numbers, starting at 1
    std::iota(range.begin(), range.end(), 1);

    // do the testing
    bool result = std::all_of(range.begin(), range.end(), [x] (int k) { return x % k == 0; });

    std::cout << result << std::endl;
}
#包括
#包括
#包括
#包括
int main()
{
int x=10;//或者其他什么。。。
//创建20整数的向量
std::矢量范围(20);
//用递增的数字填充向量,从1开始
标准::物联网(range.begin(),range.end(),1);
//做测试
bool result=std::all_of(range.begin(),range.end(),[x](int k){return x%k==0;});

std::cout像这样的东西也许:

#include <algorithm>
#include <numeric>
#include <vector>
#include <iostream>

int main()
{
    int x = 10; // or whatever...

    // create vector of 20 ints
    std::vector<int> range(20);
    // fill vector with increasing numbers, starting at 1
    std::iota(range.begin(), range.end(), 1);

    // do the testing
    bool result = std::all_of(range.begin(), range.end(), [x] (int k) { return x % k == 0; });

    std::cout << result << std::endl;
}
#包括
#包括
#包括
#包括
int main()
{
int x=10;//或者其他什么。。。
//创建20整数的向量
std::矢量范围(20);
//用递增的数字填充向量,从1开始
标准::物联网(range.begin(),range.end(),1);
//做测试
bool result=std::all_of(range.begin(),range.end(),[x](int k){return x%k==0;});
标准::cout
使用python检查:

In [1]: x = 2327925600
In [2]: all(x % k == 0 for k in range(1, 21))
Out[3]: True
使用python检查:

In [1]: x = 2327925600
In [2]: all(x % k == 0 for k in range(1, 21))
Out[3]: True

可能的重复:好吧,你可以把它转换成一个操作:
如果x%232792560==0
(232792560是[1..20]的最小公倍数)。谷歌算法都会给你可能的重复:好吧,你可以把它转换成一个操作:
如果x%232792560==0
(232792560是[1..20]的最小公倍数).Google算法给你的都是更接近python在幕后真正做的事情,但效率很低。与下面的错误相同。我认为…21应该被排除。@juanchopanza为什么它会“低效”?@Rapptz它是在不需要向量的情况下创建向量。这样做并不会使代码更容易理解或维护。这更接近python的实际功能,但效率很低。与下面的错误相同。我认为……21应该被排除。@juanchopanza为什么它会“低效”?@Rapptz它是在不需要矢量的情况下创建矢量。这样做并不会使代码更容易理解或维护。