gpt4 book ai didi

objective-c - 我希望程序产生一个值,但它没有这样做并以响应代码 0 退出

转载 作者:行者123 更新时间:2023-12-02 11:10:55 24 4
gpt4 key购买 nike

关闭。这个问题需要details or clarity .它目前不接受答案。












想改进这个问题?通过 editing this post 添加详细信息并澄清问题.

8年前关闭。




Improve this question




好吧,我今天一直在做项目欧拉问题,我看到了问题 3,并开始在其中使用 Objective-C 进行编程,它似乎无法正常运行。下面是我的代码,请检查并告诉我我犯了什么错误。我目前正在使用 Xcode,脚本的目的是返回输入的数字最大素数。

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

@autoreleasepool {
int number,primefactor, x;
bool isPrime;
NSLog (@"Please enter a number:");
scanf ("%i", &number);
for (primefactor = number;primefactor > 0;--primefactor)
{
if (number % primefactor == 0)
{
for (x = 2;x < primefactor;++x)
{
if (primefactor % x == 0)
{
isPrime = FALSE;
}
}
}
if (isPrime == TRUE)
{
NSLog (@"%i", primefactor);
break;
}
}
}
return 0;
}

我希望程序返回一个值,但它没有这样做并以退出代码 0 退出。您可以在 http://tinypic.com/r/24d28hv/8 处查看输出。

最佳答案

您的代码中的错误是 isPrime必须设置为 TRUE每次之前primefactor检查候选人:

for (primefactor = number;primefactor > 0;--primefactor)
{
if (number % primefactor == 0)
{
bool isPrime = TRUE; // <---- HERE
for (x = 2;x < primefactor;++x)
{
if (primefactor % x == 0)
{
isPrime = FALSE;
}
}
if (isPrime == TRUE)
{
NSLog (@"%i", primefactor);
break;
}
}
}

(注意解决 http://projecteuler.net/problem=3为数字600851475143
您必须使用更大的数据类型。该数字不适合 32 位整数。
您可能还必须找到更有效的算法。)

关于objective-c - 我希望程序产生一个值,但它没有这样做并以响应代码 0 退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22793403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com