用于检查使用大数字 C++ 时返回返回 0 的最大素因数的函数
Function to check for largest prime factor returning returning 0 when using large numbers c++
这是欧拉项目中的第三个问题。我怀疑它只返回 0,因为我在初始化时将 0 分配给"returnum"变量。我的代码在较小的数字中工作正常,但它不适用于获得正确答案所需的大量 (600851475143)。
这是 int 的大小吗?如果是这样,我应该使用哪种数据类型?
这是我的代码:
int problem3(long int num) {
long int returnum;
for (int i = 2; i < num; ++i) {
if (num % i == 0 && primecheck(i)) {
returnum = i;
}
}
return returnum;
}
这是我的"素数"功能:
bool primecheck(long int num) {
for (int i = 2; i <= num / 2; ++i) {
if (num % i == 0) {
return false;
}
}
return true;
}
编辑:我尝试更改数据类型,但是当我这样做时,它只是没有响应,显示一个空控制台几分钟,然后崩溃。
int
类型的变量的最大值为 2147483647,而 float 的最大值为 :3.40282e+38 或 0x1.fffffep+127。你也可以使用双倍。
long long problem3(long long num) {
long long returnum;
for (long long i = 2; i < num; ++i) {
if (num % i == 0 && primecheck(i)) {
returnum = i;
}
}
return returnum;
}
这是我的"素数"功能:
bool primecheck(long long num) {
for (long long i = 2; i <= num / 2; ++i) {
if (num % i == 0) {
return false;
}
}
return true;
}
基本类型 (C++)
测试!还行!VS2017
#include "stdafx.h"
#include <stdio.h>
bool primecheck(long long num);
long long problem3(long long num);
bool primecheck(long long num) {
for (long long i = 2; i <= num / 2; ++i) {
if (num % i == 0) {
return false;
}
}
return true;
}
long long problem3(long long num) {
long long returnum;
for (long long i = 2; i < num; ++i) {
if (num % i == 0 && primecheck(i)) {
returnum = i;
}
if (i % 100000 == 0) {
printf("tick - %lldn", i);
}
}
return returnum;
}
int main()
{
printf("out number %lldn", problem3(600851475143));
return 0;
}
32 037 210 000 - 屏幕截图 10 000 000/秒 .(此刻>(长)2^32)你想要这个程序什么?等待 65K 秒?(18小时)可能需要使用数学算法来获得最佳时间?
相关文章:
- 为什么将值返回函数传递给重载=运算符对运算符函数有效,而对其他运算符无效
- 编译器警告:执行到达值返回函数的末尾而不返回值
- 接收和返回函数指针的函数指针的类型?
- 我的动态链接队列在同一输出流中调用时不正确地输出三个返回函数
- C++函数链返回函数
- 返回函数指针的函数的签名
- 由于值返回函数中的错误,程序无法编译.它说未声明的标识符
- 非常量引用返回函数在常量值返回函数上用作 r 值
- 如何在 C++ 中从 void 返回函数访问变量
- 返回函数中带有 2 个可选 ctor 的对象
- 如何在 c++ 中返回函数的结构向量
- 返回 C++ 函数中的引用
- 使用向量时,当返回函数更改时,无法看到输出
- 如何在递归中使用返回函数
- 返回函数模板的类型C++作为第二个模板参数
- 为什么静态指针返回函数中有一个"静态"键?
- 递归返回函数,在特殊情况下不返回
- 从类返回函数
- 从类成员函数返回函数指针
- 从返回函数中推断不存在的模板参数