기본 콘텐츠로 건너뛰기

소수판별


#include <iostream>
#include <string>
#include <ctype.h>

using namespace std;

int main(int argc, char * argv[])
{
//input이 없을때 에러발생
if (argc < 2)
{
cout << "에러입니다. 숫자를 입력하세요." << endl;
return 0;
}
int len = strlen(argv[1]);

//숫자이외의 input이 들어왔을때 에러발생
for (int i = 0 ; i<len; i++)
{
if (isdigit(argv[1][i]) == 0)
{
cout << "알파벳이 입력으로 들어왔습니다." << endl;
return 0;
}
}
int input = stoi(argv[1]);
//여기서부터 소수 판별하는 부분
    for (int i = 2; i < input; i++){
        if (input % i == 0)
{
cout << "합성수 입니다." << endl;
return 0;
}       
    }
    
cout << "소수입니다." << endl;
return 0;


}

댓글

이 블로그의 인기 게시물

Tree traversal의 3가지

1. 전위 순회 (Preorder Traversal) Root -> Left Tree -> Right Tree   ( 루트를 제일 처음에 방문 ) 2. 중위 순회 (Inorder Traversal) Left Tree -> Root -> Right Tree   ( 루트를 중간에 방문 ) 3. 후위 순회 (Postorder Traversal) Left Tree -> Right Tree -> Root   ( 루트를 제일 마지막에 방문 ) <소스코드> 출처 : http://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder /// C program for different tree traversals #include <stdio.h> #include <stdlib.h> /* A binary tree node has data, pointer to left child    and a pointer to right child */ struct node {      int data;      struct node* left;      struct node* right; }; /* Helper function that allocates a new node with the    given data and NULL left and right pointers. */ struct node* newNode(int data) {      struct node* node = (struct node*)                 ...