Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.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++;程序 我用C++和Python编写了相同的程序。在Python中,它花费了不同寻常的时间(实际上我并没有从中得到答案)。有人能解释为什么会这样吗_Python_C++_Python 2.7 - Fatal编程技术网

python和c++;程序 我用C++和Python编写了相同的程序。在Python中,它花费了不同寻常的时间(实际上我并没有从中得到答案)。有人能解释为什么会这样吗

python和c++;程序 我用C++和Python编写了相同的程序。在Python中,它花费了不同寻常的时间(实际上我并没有从中得到答案)。有人能解释为什么会这样吗,python,c++,python-2.7,Python,C++,Python 2.7,C++代码: #include<iostream> using namespace std; int main(){ int n = 1000000; int *solutions = new int[n]; for (int i = 1; i <= n; i++){ solutions[i] = 0; } for (int v = 1; v <= n; v++){ for (int u = 1;

C++代码:

#include<iostream>
using namespace std;
int main(){
    int n = 1000000;
    int *solutions = new int[n];
    for (int i = 1; i <= n; i++){
        solutions[i] = 0;
    }

    for (int v = 1; v <= n; v++){
        for (int u = 1; u*v <= n; u++){
             if ((3 * v>u) & (((u + v) % 4) == 0) & (((3 * v - u) % 4) == 0)){
                solutions[u*v]++;
            }
        }
    }
    int count = 0;
    for (int i = 1; i < n; i++){
        if ((solutions[i])==10)
        count += 1;
    }
    cout << count;
}
#包括
使用名称空间std;
int main(){
int n=1000000;
int*解决方案=新的int[n];

对于(inti=1;i,您可以尝试优化此循环,例如,使其成为没有ifs的单个块,或者使用C中的模块。 C++编译器对Python运行时不能进行优化,所以用纯解释器,你将永远不会得到性能接近的任何东西。
和1M的交互是很多的,我不会用这个范围中的任何解释器开始,你最好在浏览器和JavaScript中做。

在Python中的迭代代码由于解释程序而趋于缓慢。参见:你应该尝试使用数组操作编写你的算法,或者尝试一个JIT编译器。在2。X考虑<代码> xLangeRA除<代码>范围(1,n+1)< /代码>外,我可能会考虑制作<代码> L<代码> A<代码> DICT< /Cube >(或<代码>集合>计数器< /C> >。您在C++代码中有未定义的行为(使其成为新的int [n+1;])…或更改第一个循环到<代码>(int i=0;i < n;i++) >现在你完全错过了零个索引。而且,你忘了在C++代码中释放int数组。你应该在函数的末尾有<代码> Dele[[]解决方案< /Cord>。或者,你可以使用<代码> STD::vector < /代码>。
n=1000000
l=[0 for x in range(n+1)]
for u in range(1,n+1):
    v=1
    while u*v<n+1:
         if (((u+v)%4)==0) and (((3*v-u)%4)==0) and (3*v>u):
            l[u*v]+=1
         v+=1

l.count(10)