Java에서 1에서 100까지의 소수: Java에서 1에서 100까지 표시

게시 됨: 2021-02-08

목차

소개

우선 소수 정의부터 시작하겠습니다. 1과 자기 자신으로만 나누어 떨어지는 수를 소수라고 합니다. 1에서 100까지의 소수를 말하라는 요청을 받은 경우 종이에 있는 각 숫자를 확인하고 그것이 소수인지 여부를 말하는 것은 지루한 작업이 될 것입니다. 우리가 그렇게 하는 코드를 작성할 수 있다는 점에 신경쓰지 마세요. 자바는 일을 쉽게 만듭니다.

Java는 인기 있고 가장 많이 사용되는 언어 중 하나이며 화창한 날 주목받는 이유는 객체 지향 프로그래밍, 플랫폼 독립성, 미리 정의된 라이브러리 등과 같은 기능을 제공하기 때문입니다.

1에서 100까지의 소수를 출력하는 코드를 만들고 살펴보겠습니다. 시작하자!

자바 프로그램

코드로 넘어가기 전에 숫자가 소수인지 확인하는 알고리즘을 이해할 것입니다. 처음에는 1에서 N까지의 모든 숫자를 반복하고 주어진 숫자를 적절하게 나누는 숫자의 개수를 유지해야 합니다. 개수가 2이면 주어진 숫자가 소수이고 그렇지 않으면 소수가 아니라는 결론을 내릴 수 있습니다. 다음은 이를 수행하는 코드입니다.

정수 n = 5 ;
정수 c = 0 ;
for ( int i= 1 ;i<=n;i++)
만약 (n%i== 0 )
C++;
만약 (c== 2 )
System.out.println(n+ "는 소수입니다." );
또 다른
System.out.println(n+ "는 소수가 아닙니다." );

위의 스니펫에서 n은 소수인지 아닌지 확인하는 숫자이고, c는 적절한 제수의 개수를 저장하는 변수입니다. 그리고 우리는 범위 1에서 n까지 반복하고 적절한 제수를 찾으면 카운트를 증가시킵니다.

그리고 루프에서 나온 후 개수가 2인지 확인합니다. 즉, 적절한 제수는 두 개뿐입니다(1과 자기 자신). 그렇다면 소수로 결론짓고, 그렇지 않으면 소수가 아닌 숫자로 결론짓습니다. 위 코드의 시간 복잡도에 대해 이야기하면 선형 코드이므로 O(n) 복잡도 코드입니다.

이제 1에서 100 사이의 소수를 인쇄하라는 요청을 받았으므로 1에서 100 사이의 각 숫자에 대해 이 동일한 알고리즘을 실행하고 소수를 저장해야 합니다. 그리고 이를 수행하는 코드가 있습니다.

ArrayList<정수> a= 새로운 ArrayList<>();
( int n= 1 ; n<= 100 ; n++){
정수 c = 0 ;
for ( int i = 1 ; i <= n; i++)
if (n % i == 0 )
C++;
만약 (c == 2 )
a.add(n);
또 다른
계속 ;
}
System.out.println(a);

위의 코드에서 1에서 100 사이의 모든 소수를 저장하는 ArrayList를 선언했습니다. 이제 두 개의 for 루프가 있습니다. 첫 번째 for 루프는 1에서 100 사이의 모든 숫자를 반복하는 것이고 두 번째 for 루프는 이전 소수 알고리즘입니다. 각 숫자에 대해 소수 알고리즘을 실행한 후 소수인 경우 ArrayList에 푸시합니다.

확인: 인도의 Java 개발자 급여

루프를 완료한 후 1에서 100 사이의 모든 소수를 표시하는 ArrayList를 인쇄합니다. 위 코드의 시간 복잡도에 대해 이야기하면 두 개의 for 루프가 있음을 알 수 있습니다. 따라서 O(n ²) 복잡성 코드입니다.

위의 코드에서 범위를 하드코딩했습니다. 사용자 입력에 의해 주어진 범위에서 소수를 인쇄하려면 어떻게 해야 할까요?

주어진 입력 범위의 소수

전체 알고리즘은 위의 코드와 거의 유사하며, 유일한 차이점은 범위의 하한과 상한에 대해 사용자 입력을 받는 것뿐입니다.

이제 코드를 작성해 봅시다!

스캐너 sc=new 스캐너(System.in);
int lower=sc.nextInt();
int 상위 = sc.nextInt();
ArrayList<정수> a=새 ArrayList<>();
for(int n=하위; n<=위; n++){
정수 c = 0;
for (int i = 1; i <= n; i++)
만약 (n % i == 0)
C++;
만약 (c == 2)
a.add(n);
또 다른
계속하다;
}
System.out.println(a);

위의 코드에서는 사용자 입력을 읽기 위해 스캐너를 초기화하고 있습니다. 우리는 lower 및 upper 두 개의 변수를 선언하고 사용자 입력으로 해당 변수를 할당했습니다. 우리가 해야 할 일은 [lower, upper] 범위 사이의 모든 소수를 인쇄하는 것입니다. 이전 알고리즘은 이 작업을 수행하고 모든 소수를 ArrayList에 추가합니다.

또한 읽기: Java 프로젝트 아이디어 및 주제

세계 최고의 대학에서 온라인으로 소프트웨어 개발 과정을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

결론

우리는 소수의 정의를 이해하고 숫자가 소수인지 여부를 찾기 위한 알고리즘을 살펴보고 1에서 100까지 소수를 찾기 위해 해당 알고리즘을 확장했습니다. 그리고 나중에 Java 스캐너를 사용하여 사용자 입력을 읽습니다. 소수인지 아닌지 확인할 숫자의 범위를 조정하여 사용자가 지정한 범위에서 소수를 인쇄하는 알고리즘을 구축했습니다.

이제 숫자가 소수인지 확인하는 방법, 주어진 범위에서 소수를 인쇄하는 방법을 알게 되었습니다. 함수를 사용하여 구현, 개체를 사용하여 구현, 재귀를 사용하여 알고리즘 구축, Java에서 몇 가지 다른 컬렉션 사용, 가능하면 코드 최적화 시도 등과 같은 몇 가지 문제를 구현해 보십시오. 연습은 프로그래밍 언어를 마스터하는 데 도움이 되기 때문입니다. , 구문 및 구현의 모호성을 극복하는 데 도움이 됩니다.

Java 기술을 향상시키려면 이러한 Java 프로젝트에 손을 대야 합니다. Java, 전체 스택 개발에 대해 자세히 알아보려면 작업 전문가를 위해 설계되었으며 500시간 이상의 엄격한 교육, 9개 이상의 프로젝트를 제공하는 upGrad & IIIT-B의 전체 스택 소프트웨어 개발 Executive PG 프로그램을 확인하십시오. , 과제, IIIT-B 동문 상태, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.

소수는 무엇입니까?

에라토스테네스의 체란?

에라토스테네스의 체(Sieve of Eratosthenes)는 소수를 찾는 고대 그리스 알고리즘입니다. 알고리즘은 시간에 비해 상당히 빠르지만 소수를 매우 잘 산출한다는 점에서 단순성과 효율성으로 유명합니다. 알고리즘은 2의 배수에서 시작하여 N의 배수로 끝나는 합성 숫자에서 각 소수의 배수를 모두 제거하여 작동합니다(N은 소수를 찾으려는 마지막 숫자입니다). 에라토스테네스는 그리스의 수학자였으며 이집트의 알렉산드리아 도서관의 창시자로 여겨졌습니다. 그는 지구의 둘레와 지름을 계산하는 것으로 잘 알려져 있습니다.

데이터 구조와 알고리즘이란 무엇입니까?

데이터 구조는 컴퓨터 프로그램이 데이터를 검색하고 수정할 수 있도록 데이터를 저장하는 방법입니다. 데이터 구조는 프로그래밍 언어 추상화입니다. 그 자체로 엔터티일 수도 있고 다른 데이터 엔터티의 일부일 수도 있습니다. 그 자체로 데이터일 수도 있고 다른 데이터에 액세스하고 조작하기 위한 메커니즘일 수도 있습니다. 데이터 구조는 데이터 정의, 데이터 유형, 콘텐츠 및 콘텐츠에 적용할 수 있는 작업으로 구성됩니다. 알고리즘은 컴퓨터 문제를 해결하기 위한 단계별 절차입니다. 각 알고리즘은 문제에 대한 솔루션으로 이어지는 일련의 작업입니다.