> 백엔드 개발 > C++ > 내 프로그램이 긴 변수 내에서 소수를 찾지 못하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

내 프로그램이 긴 변수 내에서 소수를 찾지 못하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2025-01-13 22:01:46
원래의
908명이 탐색했습니다.

Why is my program failing to find prime numbers within a long variable, and how can I fix it?

Long 변수의 소수 식별 문제 해결

한 사용자가 긴 변수 내에서 소수를 식별하려고 할 때 출력 문제를 보고했습니다. 원래 프로그램에는 올바른 결과를 방해하는 결함이 있었습니다.

문제 분석

주요 오류는 잘못된 루프 변수 초기화로 인해 발생했습니다. 외부 루프의 조건(i <= num)이 비효율적이어서 프로그램이 무기한 실행되거나 잘못된 결과가 생성될 가능성이 높습니다.

향상된 코드

아래는 이러한 문제를 해결하고 주어진 범위 내에서 소수를 효율적으로 찾는 수정된 프로그램입니다.

<code class="language-csharp">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PrimeNumberFinder
{
    class Program
    {
        static void FindPrimes(long num)
        {
            bool isPrime;
            for (long i = 2; i <= num; i++)
            {
                isPrime = true;
                for (long j = 2; j * j <= i; j++)
                {
                    if (i % j == 0)
                    {
                        isPrime = false;
                        break;
                    }
                }
                if (isPrime)
                {
                    Console.WriteLine(i);
                }
            }
        }

        static void Main(string[] args)
        {
            Console.WriteLine("Enter a number:");
            long inputNum;
            if (long.TryParse(Console.ReadLine(), out inputNum))
            {
                FindPrimes(inputNum);
            }
            else
            {
                Console.WriteLine("Invalid input. Please enter a valid long integer.");
            }
        }
    }
}</code>
로그인 후 복사

성능 향상

이 개선된 코드는 더 나은 성능을 제공하여 O(n log log n) 시간 복잡도에 접근하므로 더 넓은 범위의 숫자에 적합합니다. 내부 루프 조건(j * j <= i)이 핵심 최적화입니다.

위 내용은 내 프로그램이 긴 변수 내에서 소수를 찾지 못하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿