//1에서 1000까지의 수 중에서 소인수들의 합이 소수인 수를 찾아내는 프로그램
#include
using namespace std;
bool Is_prime(int num);
int main() {
for(int num = 2; num < 1001; num++)
{
int i=2;
int tmp=num;
int prime_sum=0;
while(tmp!=1)
{
if(tmp%i == 0)
{
prime_sum += i;
tmp = tmp/i;
}
else i++;
}
if (Is_prime(prime_sum) == true)
{
cout << num << " ";
}
}
return 0;
}
bool Is_prime(int num)
{
if (num == 1 ) return false;
int i=2;
while(1){
if (num>i)
{
if (num%i==0) return false;
else i++;
}
else return true;
}
}
'프로그래밍 공부 > Jumping into C++' 카테고리의 다른 글
[C++] 143p 배열 실습문제 1,2 (0) | 2020.11.11 |
---|---|
[C++] 소수인지 판별해 출력하는 프로그램 (0) | 2020.11.10 |
[C++] 2인용 틱택토 게임 (0) | 2020.05.02 |
[C++] 값을 넘겨받아 가장 높은 값과 가장 낮은 값, 값들의 평균을 출력한 뒤에 한 행에 하나씩 출력하는 프로그램 (0) | 2020.05.02 |
[C++] -999,999~999,999 사이의 수를 영어 텍스트로 바꾸기 (0) | 2020.04.25 |