이 페이지는 코딩도장 데이터의 읽기 전용 정적 보관본입니다.

정수와 소수 구별하기

프로그래머 X는 코딩을 하다가 문득, 수학 시간에 배운 정수와 소수를 구별하는 방법을 떠올렸다. 정수와 소수의 차이는 분수로 표현이 되느냐, 되지 않느냐에 따라 차이가 나기도 하며, 또한 파이 등 특정한 값을 나타내는 것에 의하여 소수인지 정수인지 판별이 나게 된다.

프로그래머 X는 입력값을 숫자를 입력하거나 문자를 입력하려고 하는데,

  1. 만약 숫자를 입력하였으면 그것이 정수인지, 소수인지 구별하는 프로그램을 짜보도록 하고,
  2. 만약 문자를 입력하였으면 숫자가 아니므로 math error를 표시하게 하라.

lv.1 예상

쉽게 생각하자

2020/03/11 22:04

MrNick 이은총/ LanotaDefenceCrops

+1 입력이 '010' 이라면 숫자이지만 정수와 소수가 아니므로 math error가 되어야 할것 같습니다. 거의 대부분의 풀이가 010은 정수라고 판별하는것 같습니다. - 디디, 2020/04/10 13:18
+1 1.0 은 정수인가요? - 디디, 2020/04/10 13:17

77개의 풀이가 있습니다.

def main(N):
    if N - int(N) == 0:
        print("정수")
    if N - int(N) != 0:
        print("소수")
try:
    N = input()
    N = float(N)
    main(N)
except ValueError:
    print("math error")

2020/03/12 14:15

BlakeLee

정수부분과 소수부분을 활용하셨군요! - MrNick 이은총/ LanotaDefenceCrops, 2020/03/12 14:26
import re
p=re.compile('\D')
n=input()
if p.findall(n)!=["."] and p.findall(n)!=[]: print('math error')
else : print('integer') if float(n)==round(float(n)) else print('not integer')

2020/03/12 16:50

Caplexian _

오 제 풀이 방식과 일치합니다 ㅋㅋㅋㅋ - MrNick 이은총/ LanotaDefenceCrops, 2020/03/12 16:52
ㄴ 오오오 그렇군요 - Caplexian _, 2020/03/12 16:57
try:
    N = float(input('숫자를 입력하세요 '))
    print('소수입니다.' if N!=int(N) else '정수입니다.')
except ValueError:
    print('math error')

2020/03/19 15:49

정태군

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void main() {
    float num = 0;
    if (scanf("%f", &num) == 0) printf("Math Error");
    else {
        if (num - (int)num == 0) printf("정수");
        else printf("소수");
    }
}

2020/04/07 14:46

NEZ 14

try:
    num=eval(input('입력 : '))
    if num==int(num):print('정수')
    else :print('소수')
except:
    print('math error')

2020/04/19 23:45

양양짹짹

try :
    value = eval(input("숫자를 입력 하세요 : "))
    if type(value) is float:
     print("소수")
    elif type(value) is int:
        print("정수")
except:
    print("숫자 아님")

2021/11/27 18:10

semipooh

class Check(){
    fun check(n : String) : String{
        try{
            if(n.toFloat() % 1.toFloat() == 0.toFloat()){return "정수"}
            else {return "소수"}
        } catch(e : Exception){
            return "math error"
        }
    }
}

fun main() {
    val obj = Check()
    println("INPUT : ")
    val input = readLine()
    println(obj.check(input.toString()))
}

코틀린입니다. 결과

INPUT :
w
math error

INPUT :
12.3
소수

INPUT :
5
정수

2020/03/12 17:39

GG

호오 소수를 1로 나누는 나머지가 0이 안되는걸 이용하셨군요 - MrNick 이은총/ LanotaDefenceCrops, 2020/03/12 17:45
import java.util.Scanner;

public class testing {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String n;
        char c;
        n = scanner.nextLine();
        for(int i=0;i<n.length();i++){
            c = n.charAt(i);
            if(!('0'<= c && c <= '9')){
                System.out.println("false");
                System.exit(-1);
            }
        }
        boolean isPrime = false;
        int m = Integer.parseInt(n);
        for(int i=2;i<m;i++){
            if(m % i == 0){
                isPrime = true;
                break;
            }
        }
        if(isPrime) {

            System.out.println(m + "은 소수가 아닙니다.");
        }
        else{
            System.out.println(m + "은 소수입니다.");
        }
    }
}

2020/03/13 23:01

Reflelia

import java.util.Scanner;
public class EssenceDecimal {
    public static void main(String[] args) {
        System.out.print("Input : ");
        Scanner sc = new Scanner(System.in);
        String programerSay = sc.nextLine();
        Distinction dt = new Distinction();
        dt.GetData(programerSay);
        System.out.println(dt);
    }

}
class Distinction{
    private static String data;
    private static String Outdata;
    public void GetData(String programerSay) {
        this.data = programerSay;
    }
    @Override
    public String toString() {
        ma();
        return Outdata;
    }
    private int ToInt(String a) {
        return Integer.parseInt(a);
    }
    private Boolean Prime(int p) {
        Boolean isPrime = false;
        for(int i=2;i<p;i++){
            if(p % i == 0){
                isPrime = true;
                break;
            }
        }
        return isPrime;
    }
    private void ma() {
        try {
            Boolean isPrime = Prime(ToInt(data));
            int a = ToInt(data);
            if(isPrime) {
                this.Outdata = a+"은 소수가 아닙니다";
            }else {
                this.Outdata = a+"은 소수 입니다";
            }
        } catch (NumberFormatException e) {
            this.Outdata = "math error";
        }
    }

}

2020/03/15 20:55

심리

#저렙 입문자 입니다.
#1 번 문제
def JungOrSo(a):        #정수냐 소수냐
    b = round(a)        #입력 값으로 받은 a 의 소수를 올림
    if a == b:          #입력 값과 소수를 올림한 후의 입력값이 같다면 소수자리가 없는 것이니 정수
        print('정수 입니다.')
    else:               #올림을 했을때 입력값과 값이 다르면 소수가 있었다는 것이니 소수
        print('소수 입니다.')

JungOrSo(1)
JungOrSo(1.1)

#2 번 문제
def JungOrSo1(a):        #정수냐 소수냐
    if a != int or float:   #입력 값이 정수나 소수가 아닐경우
        print('math error')
    else:
        b = round(a)        #입력 값으로 받은 a 의 소수를 올림
        if a == b:          #입력 값과 소수를 올림한 후의 입력값이 같다면 소수자리가 없는 것이니 정수
            print('정수 입니다.')
        else:               #올림을 했을때 입력값과 값이 다르면 소수가 있었다는 것이니 소수
            print('소수 입니다.')

JungOrSo1('gg')

2020/03/18 07:24

최형석

try:
    num = eval(input("입력하시오: "))
    if num - int(num):
        print("소수입니다.")
    else:
        print("정수입니다.")
except:
    print('math error')

2020/03/19 23:29

ptjddn95

class check() { 

  fun check(n : string) : string{
    try{
      if(n.toFloat() % 1.toFloat() == 0.toFloat()){return "정수"}
      else {return "소수"}
    }catch(e : Exception){
      return "math error"
    }
  }
}

fun main() {
  val obj = check()
  printIn("input : ")
  val input = readLine()
  printIn(obj.check(input.toString()))
}

오류가 발생합니다. class check() { syntaxerror : invalid syntax 라고 나옵니다. 왜 안될까요?

2020/04/02 06:00

yeonghun kim

파이썬의 try..except 예외처리 기능을 이용해서 작성했습니다.

try:
        A=input('숫자를 입력하세요')
        int(A)
except ValueError: #다른 타입을 정수 타입으로 지정했을 때 실행됨
        try:
                float(A)
        except ValueError: #문자를 소수로 지정했을 때 실행됨
                print('math error')
        else:
                print('소수입니다')
else:
        print("정수입니다")

2020/04/02 06:40

Dongsuk Kim


2020/04/03 15:03

ssi ben

try:
    N=input()
    int(N)
except ValueError :
    try:
        float(N)
    except: TypeError: print("Math Error") 
    else: print("소수")
else: print("정수")

2020/04/07 13:58

NEZ 14

#파이썬

#입력받은 값이 숫자이거나 .(소수점) 일 경우에만 변수 i를 1씩 증가시킴
#그외 문자가 입력되지 않았다면 i값과 입력받은 값의 수가 같음
#i값과 입력받은 값의 수가 같고 .이 1개 이하일 경우,
#정수와 소수를 판별함. 그외는 Math Error
#입력값(문자열)을 소수화 한 다음, 다시 정수화 한 값과 비교하여 같으면 그것은 정수

a,i=str(input('a=')),0
while (i<len(a)):
    if (ord(a[i])>=48 and ord(a[i])<=57) or ord(a[i])==46:
        i+=1 
    else:
        break

if len(a)==i and a.count('.')<2:
    if float(a)==int(float(a)):
        print('정수')
    else:
        print('소수')
else:
    print('Math Error')

2020/04/09 01:07

Buckshot

<결과> a=1234 정수 a=2343.223 소수 a=233ddf Math Error a=123.123.12 Math Error - Buckshot, 2020/04/09 01:08
// 헬로 월드

2020/04/10 11:50

길고양이

import unittest


def isint(x):
    '''
    정수 >> 'INT'
    소수 >> 'DECIMAL'
    그외 >> 'MATH ERROR'
    '''
    try:
        if x.startswith('0'):
            raise Exception
        x_float = float(x)
        if x_float % 1 == 0.0:
            return 'INT'
        else:
            return 'DECIMAL'

    except:
        return 'MATH ERROR'


class Test(unittest.TestCase):

    def test_startswith_0(self):
        x = '010'
        rst = isint(x)
        self.assertEqual(rst, 'MATH ERROR')

    def test_startswith_00(self):
        x = '0010'
        rst = isint(x)
        self.assertEqual(rst, 'MATH ERROR')

    def test_10_0(self):
        x = '10.0'
        rst = isint(x)
        self.assertEqual(rst, 'INT')

    def test_10_01(self):
        x = '10.01'
        rst = isint(x)
        self.assertEqual(rst, 'DECIMAL')

    def test_str(self):
        x = '21.o'
        rst = isint(x)
        self.assertEqual(rst, 'MATH ERROR')

    def test_10_0_0(self):
        x = '10.0.0'
        rst = isint(x)
        self.assertEqual(rst, 'MATH ERROR')


if __name__ == '__main__':
    unittest.main()

2020/04/10 12:57

디디

def distinguish(x):
    if x == str(x):
        print('math error')
    elif x % 1 == 0:
        print('%s is integer.'%x)
    elif x % 1 != 0:
        print('%s is friction.'%x)
distinguish(x)

2020/04/13 23:06

B and V Before

public class separateNum { public static void main(String[] args) { Scanner sc = new Scanner(System.in);

    String input = sc.nextLine();
    Float num;
    try {
        num = Float.valueOf(input);
    }catch (Exception e) {
        System.out.println("math error\n정수로 변환할 수 없습니다.");
        return;
    }
    trans(num);
}

static void trans(float a) {
    int b = (int)a;
    if(a - b == 0) {
        System.out.printf("%d는 정수이다.", b);
    }else {
        System.out.printf("%.3f는 실수이다.", a);
    }

}

}

2020/04/15 18:02

Dalno

try:
    inp = float(input())
    if inp-int(inp) == 0:
        print('정수')
    else:
        print('소수')
except ValueError:
    print('math error')

2020/04/23 20:58

Shiroha

try:
    inp = float(input())
    if inp-int(inp) == 0:
        print('정수')
    else:
        print('소수')
except ValueError:
    print('math error')

2020/04/23 20:59

Shiroha

import sys

num = input() count = 0

try: in_num = int(num) except ValueError: print('math error') sys.exit()

for i in range(1, in_num+1): a = in_num%i if a ==0: count += 1 if count > 2: print('이것은 정수입니다') else: print('이것은 소수입니다')

2020/04/24 03:55

아울

try: num=float(input('숫자를 입력하세요')) #수를 입력받고 실수로 전환

except:print('math error') #문자 입력시 오류메시지

else:
    if num==int(num): print('정수입니다') #입력받은수가 정수일 시 출력
    else: print('소수입니다') #정수가 아닐시 출력



2020/04/24 07:32

탕자감

Clojure 입니다.

(print (let [num (read)] (if-not (number? num) "Math Error" (if (= num (int num)) "정수입니다." "소수입니다."))))

2020/05/08 04:53

최수현

x = input()
try:
    a = float(x)
    if int(a) != a:
        print("소수")
    else:
        print("정수")
except ValueError:
    print("math error")

2020/05/09 23:56

Money_Coding

def input_num():

    while True:

        try:
            num = float(input("Enter your number: "))
            break

        except ValueError:
            print("Please input NUMBERS ONLY / MATH Error")

    return num

number = input_num()
if type(number) == type(1):
    print(f'{int(number)} is an integer')
else:
    if str(round(number,1))[-1] == "0":
        print(f'{int(number)} is an integer')
    else:
        print(f'{number} is a float')

2020/05/21 03:59

이정환

while True:
    try:
        nu = int(input("Input integer : "))
        j = 0
        for i in range(2, nu):
            if nu % i == 0:
                j += 1
                break
        break
    except ValueError:
        print("That was no valid number.  Try again...")
if j == 0:
    print("{} is a prime number.".format(nu))
else:
    print("{} is not a prime number. It's divided by {}".format(nu,i))

2020/05/31 20:14

Stony Lee

C#

using System;

namespace CD246
{
    class Program
    {
        static void Main()
        {
            string rst = CheckType(Console.ReadLine());
            Console.WriteLine(rst);
        }

        static string CheckType(string input)
        {
            // 입력 문자열을 실수로 변환 가능한지 여부 판단
            bool isNumeric = double.TryParse(input, out double parsedNumber);
            if (!isNumeric)
            {
                return "math error";
            }
            // 실수 값이 정수 변환 값과 같은지 판단
            return parsedNumber == (int)parsedNumber ? "정수" : "소수";
        }
    }
}

2020/06/08 18:19

mohenjo

try:
    a = float(input())
    if a == int(a):
        print("정수")
    else:
        print("소수")
except:
    print("math error")

2020/06/17 00:11

jinu

try:
    print("정수" if float(input()).is_integer() else "소수")
except ValueError:
    print("math error")

2020/07/13 01:50

Noname

def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        return False

a = input()
if (is_number(a) == False) | (a[0] == '0') :
    print('math error')
else :
    if str(float(a)).split('.')[1] == '0' :
        print('정수')
    else : 
        print('소수')

2020/07/17 09:11

hand coder

try:
    number =float(input("숫자를 입력하거나 문자를 입력하세요!"))
    key = number-int(number)
    if key == 0:
        print("이 수는 정수입니다")
    elif key <1:
        print(" 이 수는 소수입니다")

except:
    print("math error")

2020/07/21 15:25

JaeWon Lee

numbers = [1, 1.1, 3, '5', 'message']
for n in numbers:
    if type(n) == int:
        print('integer ', end='')
    elif type(n) == float:
        print('float ', end='')
    else:
        print('math-error ', end='')


출력: integer float integer math-error math-error

2020/08/03 12:38

Chang-Hoon Lee

파이썬을 이용하여 작성하였습니다. try와 except 구문을 이용하였습니다. 입력받은 값을 int를 사용하여 정수인 경우와 아닌 경우로 먼저 구분하고, 그 후 except구문에서 float을 이용하여 소수인지 문자인지로 구분하는 방식입니다.

try:
    num = input("숫자를 입력하시오:")
    check_num = int(num)
    print("정수입니다.")
except:
    try:
        check_num = float(num)
        print("소수입니다.")
    except:
        print("math error")

2020/08/19 18:51

코딩수련수련자

import java.util.Scanner;

public class Test03 {
    public static void main(String[] a) {
        Scanner sc = new Scanner(System.in);
        try {
        double d = sc.nextDouble();
        int di=(int)d;
        if (d-di==0)
         System.out.println("정수");
        else
         System.out.println("소수");}
        catch(Exception e){
            System.out.println("math error");
        }               
    }
}

2020/09/15 10:47

TTeeTT

using System;

namespace _61일차_10월01일
{        
    class MainApp
    {
        static void Main(string[] args)
        {
            //정수 {-99...  ~ 99...}
            //소수 {-0.999 ~ 9999...0}
            Console.Write("Input Number : "); //숫자 데이터 입력 받기
            string Input_Data = Console.ReadLine(); //입력된 값 Input_Data에 저장
            char[] Array_Char = Input_Data.ToCharArray(); //첫번째 입력값이 0인경우를 파악하기 위한 배열 생성(입력값 첫부분이 0일경우 숫자가 아님)

            //소수점 개수를 파악하기 위한 로직 (소수점이 2개들어갈시 숫자가 아님)
            string Word = "."; //소수점 개수 판별을 위해 "."이 담긴 변수 선언
            string[] words = Input_Data.Split(new string[] {Word}, StringSplitOptions.None); // "."을 기준으로 문자를 나누기
            int count = words.Length - 1; // "."의 개수를 count변수에 저장
            try
            {
                if (Input_Data.Contains('.') && count == 1) //입력된 문자에 "."이 들어가고 개수가 1개일때 소수
                {
                    Console.WriteLine("소수 입니다.");
                }
                else if (Array_Char[0] == '0') //첫번째 입력된 문자열이 0인경우 에러 발생
                {
                    Console.WriteLine("Math Error");
                }
                else if (int.Parse(Input_Data) <= 0 || int.Parse(Input_Data) > 0) //정수 판별
                {
                    Console.WriteLine("정수 입니다.");
                }
            }
            catch (System.FormatException) //숫자 형식이 아닌 문자열이 입력된 경우 출력
            {
                Console.WriteLine("Math Error");
            }           
        }
    }
}

2020/10/01 22:33

MinSeung Kang

2020/10/18 00:09

최혜련

def isNumber():
    x=input()
    if x.isdigit():
        x=int(x)
        print('소수' if sum([1 for a in range(1,x+1) if x%a==0])==2 else '정수')
    else:
        print('math error')
isNumber()

2020/10/26 10:43

AppleFarmer

def integer_criterion(x):
    if type(x) != str:
        remainder = x % 2
        if remainder in [0, 1]:
            print("An integer")
        else:
            print("Not an interger")
    else:
        print("math error")

2020/11/03 11:04

돈 벌면 뭐하노

import re p=re.compile('\D') n=input() if p.findall(n)!=["."] and p.findall(n)!=[]: print('math error') else : print('integer') if float(n)==round(float(n)) else print('not integer')

2020/11/03 20:31

고태욱

import re

class identifyNumber:
    def __init__(self):
        self.result = ""
    def screenNumber(self,num):
        p = re.compile(r"\d+")
        m = p.match(str(num))
        if not m:
            print("Math ERROR")
        else:
            iprime = 1
            for i in range(2,num):
                if num%i==0:
                    iprime = 0
            print (iprime)

a = identifyNumber()
a.screenNumber(9)
a.screenNumber(5)
a.screenNumber("aaa")

2020/11/13 16:27

footsize

num_text = input()
try:
    if type(eval(num_text)) == int:
        print("{}는 정수입니다.".format(num_text))
    elif type(eval(num_text)) == float:
        print("{}는 소수입니다.".format(num_text))
except SyntaxError:
    print("math error")

2020/11/23 19:18

김우석

def dis(text):
    text1 = float(text)
    if text1 - int(text1) == 0:
        print('integer')
    if text1 - int(text1) != 0:
        print('float')

try:
    text = input('type : ')
    dis(text)

except:
    print('Math Error')

2020/11/26 08:57

DSHIN

def dis(text):
    text1 = float(text)
    if text1 - int(text1) == 0:
        print('integer')
    if text1 - int(text1) != 0:
        print('float')

try:
    text = input('type : ')
    dis(text)

except:
    print('Math Error')

2020/11/26 08:57

DSHIN

def check(n):
    try:
        n = int(n)
    except:
        return '숫자를 입력하세요'
    for a in range(2,n-1):
        if n%a == 0:
            return '정수입니다.'
    return '소수입니다.'
a1 = input('숫자 입력: ')
a2 = check(a1)
print(a2)

2020/11/27 10:32

고태욱

def sosu(a):

  if a-int(a)==0:

    print("jeong su")

  else:

    print("so su")

try:

  a=float(input('write number'))

  sosu(a)

except:

  print ("math error")

2020/12/10 19:22

전준혁

def ispn(s):
    for i in range(2,(int((s**(0.5))) + 1)):
        if(s % i == 0): return 0
    return 1
import re
try:
    s = input()
    float(s)
    p = re.compile("[0]+[\d]+")
    if(p.search(s)):
        print("math error")
    elif(bool(float(s) % int(float(s)))):
        print("소수입니다..")
    else:
        s = int(float(s))
        if(s == 1): print("소수입니다.")
        elif(ispn(s)): print("소수입니다.")
        else: print("정수입니다.")
except ValueError:
    print("math error")


너무 어거지로 풀었네요ㅜㅠ

2020/12/24 21:24

guma go

def do(x):
    try:

        if x-int(x)==0:
            return '정수입니다.'
        else : 
            return '소수입니다.'
    except :
        return 'math error'

2020/12/27 12:41

hankyu

def math(a):
    if int(a) == a: 
        print("정수")
    if int(a) != a:
        print("소수")
try:
    s = float(input("숫자를 입력해주세요"))
    math(s)
except:
    print("math error")

2020/12/29 13:28

ij

try:
    print("정수" if float(input()).is_integer() else "소수")
except ValueError:
    print("math error")

2021/01/19 10:49

손우민

n = input()

try:
    n = float(n)
    if n == int(n):
        print("정수")
    else:
        print("소수")
except:
    print("math error")

2021/01/24 18:21

asdfa

a = input()

try:
    n = float(a)
    if n == int(n):
        print("정수입니다")
    else:
        print("소수입니다")

except:
    print("Math Error")

2021/02/17 21:32

개촙오

try:
    x=float(input('숫자 입력'))
    if x - int(x) == 0:
        print('정수')
    if x - int(x) != 0:
        print('소수')
except ValueError:
    print('math error')

2021/03/11 08:45

최우진

def check_decimal(num_text):
    try:
        num = float(num_text)
        if num % 1 == 0:
            print("정수입니다.")
        else:
            print("소수입니다.")
    except:
        print("math error")

2021/03/29 18:23

Young-Hwan Hyun

try:
    n = float(input())
except: 
    print('math error')
else:
    if int(n) < n:
        print('소수')
    elif int(n) == n:
        print('정수')



2021/04/12 13:40

잘해보자

Python

방법1 (eval 함수로 인한 예외처리가 됨)

  • 1+2 를 입력했을 때 정수로 리턴
  • abs(-8) 을 입력했을 때 정수로 리턴
  • eval 함수가 해당 값을 매개변수로 받아 연산처리한 후 num 에 값을 넣으므로 발생하는 문제
try:
    num = eval(input('입력 : '))
    if num == int(num):
        print('정수')
    else:
        print('소수')
except:
    print('math error')

방법 2 (숫자 함수를 이용)

  • float 와 int를 활용하여 비교
  • 숫자 함수로 비교하므로 1+2나 abs(-8) 등을 입력하면 math error 발생
try:
    i = float(input("입력:"))
    if i-int(i) == 0:
        print('정수')
    else:
        print('소수')
except ValueError:
    print('math error')

구문에 대한 정답은 알아서 해석하세요~

2021/05/12 16:50

K

X = input()

import math
if X.isalpha() == False:
    X = float(X)
    if math.ceil(X) == X:
     print("정수")
    else: print("소수")
else: print("math error")

2021/05/23 14:45

ss2663

l = []
try : a = int(input('정수소수판별:'))
except : print('math error \n문자열입니다.')
else : 
    for i in range(1,a+1) :
        if a % i == 0 : 
            l.append(i)
    if len(l) < 3 : print('소수')
    else : print('정수')

2021/05/24 09:32

약사의혼자말

python 3.9.6입니다. GG님의 아이디어를 참고했습니다.

try:
    int_or_float = bool(float(input('수를 입력하세요. ')) % 1)
    if int_or_float:
        print('소수입니다.')
    else:
        print('정수입니다.')
except ValueError:
    print('math error')

실행 결과입니다.

수를 입력하세요. 34
정수입니다.
수를 입력하세요. 42.893
소수입니다.

2021/07/15 11:59

이준우

#codingdojing_dintinguishNum

a = input("typing: ")


try:
    N = float(a)

    if N - int(N) == 0:
        print('정수')
    else:
        print('소수')

except ValueError:
    print("math error")


2021/07/15 14:42

Jaeman Lee

파이썬 3.8.10으로 작성되었습니다.

import re
f = re.compile('[0-9]+[.][0-9]+')
i = re.compile('[0-9]+')

data = input().strip()

if len(re.sub(f, '', data)) == 0:
    print('소수입니다.')
elif len(re.sub(i, '', data)) == 0:
    print('정수입니다.')
else:
    print('math error')

2021/07/28 17:12

baek choi

def find_type(a):
    try:
        if a - int(a) == 0:
            print('정수')
        else:
            print('소수')   
    except:    
        print('math error')

if __name__ == '__main__':
    find_type('안녕') 

2021/09/14 17:33

서현준

def is_int(n):
    if n-int(n)==0:
        print('정수')
    else:
        print('소수')
try:
    is_int(float(input()))
except ValueError:
    print('math error')

2021/09/19 16:50

ninanino

static String primeNumber(int x) {
        boolean isx = false;
        for (int i = 2; i < x; i++) {
            if (x % i == 0)
                isx = true;
        }
        if (isx)
            return "정수";
        else
            return "소수";
    }

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        boolean isNum = true;
        String num = "";

        while (isNum) {
            System.out.println("숫자를 입력하세요.");
            num = s.nextLine();
            for (int i = 0; i < num.length(); i++) {
                if (num.charAt(i) >= '0' && num.charAt(i) <= '9') {
                    isNum = false;
                    break;
                } else
                    System.out.println("math error");
            }
        }
        System.out.println(primeNumber(Integer.parseInt(num)));
    }

2021/10/23 23:44

박대현


a = input()
try:
    b= float(a) 
except ValueError:
    print("math error")
else :
    try:
        c=int(a)
    except ValueError:
        print("소수입니다")
    else :
        print("정수입니다")

2021/12/18 19:07

양캠부부

def tool(num):
    if num - int(num) == 0:
        print("정수")
    else:
        print("소수")

try:
    num = input("Enter num: ")
    num = float(num)
    tool(num)
except ValueError:
    print("math error")

2021/12/23 14:07

용가리

a=input('숫자를 넣어 주세요.')

try:
    b=float(a)
    if b == round(b):
        print('정수입니다.')
    if b != round(b):
        print('소수입니다.')

except:
    print('math error')        

2022/01/26 13:29

로만가

public class test {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        try {
        double input = sc.nextDouble();
        if(input%1.0==0) {
            System.out.println("정수");
        }
        else {
            System.out.println("소수");
        }}
        catch (Exception e) {
            System.out.println("math error");
        }
}
}

2022/02/25 18:31

Kkubuck

def test(n):
    if type(n) == float:
        return 'float'
    elif type(n) == int:
        return 'int'
    elif n.isalpha():
        return 'math error'
print(test(0.5))

2022/04/13 21:59

박현준

package com.algorithm.algorithmpractice.dojang;

public class PrimeNumber {
    private static String getPrimeNumber(String expectedNumber){
        final char start = '1';
        final char end = '9';
        String prime = "소수";
        String notPrime = "소수가 아닌 수";
        String input = expectedNumber;
        for(int i = 0; i < expectedNumber.length(); i++){
            if(input.charAt(i) < start || input.charAt(i) > end){
                return "error";
            }
        }
        int number = Integer.parseInt(input);
        if(number == 1) return notPrime;
        if(number == 2) return prime;
        if(number == 3) return prime;
        for(int i = 3; i < number; i += 2){
            if(number % i == 0){
                return notPrime;
            }
        }
        return prime;
    }
    public static void main(String[] args) {
        System.out.println("result: " + getPrimeNumber("13"));
        System.out.println("expected: " + "소수");
    }
}

2022/05/12 07:34

inkuk ju

num = input('정수와 소수를 구별해주는 프로그램 입니다. \n 값을 입력해주세요 : ')
print('match over' if ((num.replace('.','', 1).isdigit() == False) or (int(num[0]) == 0)) else ('정수입니다.' if float(num)%1 == 0 else '소수입니다.'))

2022/08/24 22:10

고양이

python

num = input()

try:
    if bool(int(num)) == True:
        print("정수입니다.")

except:
    try:
        if bool(float(num)) == True:
            print("소수입니다.")
    except:
        print("math error")

2023/03/15 15:48

세라

# ascii 로 입력 data를 바꿔서 판단하는 프로그램
_ascii_ = {48,49,50,51,52,53,54,55,56,57}
num = input("Enter Natural Num. or Finite Num.:")
asc_data = []
data_slice = list(map(str,str(num)))
for i in range(len(data_slice)):
   asc_data.append(ord(data_slice[i]))
asc_data = [ j for j in asc_data if j not in _ascii_ ]
if len(asc_data) == 0:
   print("Natural Number")
elif asc_data.count(46) == 1:
   print("Finite Number")
else:
   print("Math Error")

2023/07/07 17:48

siu yoon

N = input('입력하세요.: ')
answer = '정수'
for n in N:
    if n != '.' and ( n<'0' or n>'9'):
        answer = "'math error'"
        break
    elif n == '.':
        answer = '소수'
print('\t{0}입니다.'.format(answer))

2023/07/22 20:09

insperChoi

inpt = [x if 48<=ord(x)<=57 else 'Error' for x in input()]
def primeNum(inpt):
    result = '소수임'
    for i in range(2, int(inpt**(1/2))+1):
        if inpt % i == 0:
            result = '소수 아님'
    return result

if 'Error' not in inpt:
    inpt = int(''.join(inpt))
    print(primeNum(inpt))
else:
    print('math error')

2023/08/04 14:07

Hawk Lee

def numType(n):
  if str(int(float(n))) == n:
    print("정수")
  elif str(int(float(n))) != n:
    print("소수")
try:
  n = input("숫자를 입력하시오: ")
  numType(n)
except ValueError:
  print("숫자만 입력하시오")

2025/02/25 19:33

Dasol Lee

목록으로