배열과 함께 주어진 작업은 C++의 표준 템플릿 라이브러리를 사용하여 N으로 나눌 수 있는 숫자를 찾는 것입니다.
이 문제를 해결하기 위해 C++ 표준 템플릿 라이브러리에 있는 count_if() 함수를 사용하고 있습니다.
count_if() 함수란 무엇입니까?
구문
count_if(LowerBound, UpperBound, function)
설명 - 이 함수는 주어진 조건을 만족하는 배열의 요소 수를 반환합니다. 세 개의 매개변수가 필요합니다.
- 하한 − 배열 또는 다른 시퀀스의 첫 번째 요소를 가리킵니다.
- 상한 − 배열 또는 다른 시퀀스의 마지막 요소를 가리킵니다.
- 기능 − 지정된 조건에 따라 Boolean 값을 반환합니다.
예시
Input-: array[] = {2, 4, 1, 5, 8, 9} N = 4 Output-: Elements divisible by 4: 2 Input-: array[] = {1, 2, 3, 4, 5, 10} N = 2 Output: Elements divisible by 2: 3
아래 프로그램에서 사용된 접근 방식은 다음과 같습니다. -
- 정수형 배열에 정수값을 입력합니다.
- 배열의 요소가 사용자 입력 값 N으로 나눌 수 있는지 확인하는 bool 함수를 만듭니다.
- 첫 번째와 마지막 요소와 함수를 매개변수로 받는 count_if() 함수를 호출합니다.
예시
#include <bits/stdc++.h> using namespace std; int n; //function to check if the element is divisible by n bool check(int i) { if (i % n == 0) return true; else return false; } int main() { int arr[] = {2, 4, 1, 5, 8, 9}; n = 4; int size = sizeof(arr) / sizeof(arr[0]); int temp = count_if(arr, arr + size, check); cout<<"Elements divisible by "<<n<< ": " <<temp; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
Elements divisible by 4: 2