c - Projecteuler 3 - 最大素数
问题描述
我很好奇为什么这段代码找不到最大的素数。我找不到数学和/或逻辑错误。
#include <stdio.h>
int compute( int input ) {
int biggest_primefactor = 1;
while(input > biggest_primefactor) {
int i = 2;
while(input%i != 0) i++; /* find factor, which is a primefactor */
input /= i;
if( i > biggest_primefactor) biggest_primefactor = i;
}
return biggest_primefactor;
}
void main () {
unsigned long long int input = 600851475143;
printf("%d", compute( input ));
}
输出为 1
解决方案
推荐阅读
- vue.js - 如何使用侧边栏 element.io vue 中的 open 和 close 方法
- r - 将个人与单个组匹配
- php - 使用 parent::find 解决此错误的最佳方法是什么?
- javascript - 是否可以在图表末尾提取原始数据?
- python - 使用正则表达式提取整数的函数返回无类型
- java - Swing - How to add Crtl + JButton click
- amazon-web-services - 如何使用 Centos Vagrant guest(类似 Amazon Linux)在 Linux (Debian9) 上本地调试 Opsworks/Chef 11.10.4 食谱
- java - ESC/POS image in java
- r - Joining two data frames by multiple similar columns while maintaining non-overlapping data in R
- c++ - Display restaurant options based on dietary restrictions