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

이차방정식

A씨는 학교숙제로 이차방정식 문제를 풀어야 한다. 하지만 시간이 얼마 없다. 이 A씨를 도와주기 위한 이차방정식 풀이 프로그램을 작성해라.(단, 일차방정식은 ax^2 + bx + c = 0의 꼴에서 a, b와 c를 입력받아 해를 구하고 해를 구하기 위해 근의 공식을 사용해야 한다. 또, 해는 정수로 반올림한 값을 구하고 해가 없거나 여러개인 경우도 모두 구해야 한다.)

근의공식
(아래공식은 무시해도 됩니다)

2018/01/20 23:01

YEAHx4

114개의 풀이가 있습니다.

python으로 했습니다.

def fun(a,b,c):
    D=b*b-4*a*c
    if D>0:
        x1=round((-b-D**0.5)/2*a)
        x2=round((-b+D**0.5)/2*a)
        print("x","=",x1,",",x2)
    elif D==0:
        x=round(-b/2*a)
        print("중근입니다")
        print("x","=",x)
    else:
        print("허근입니다")
a=int(input("a를 입력해 주세요."))
b=int(input("b를 입력해 주세요."))
c=int(input("c를 입력해 주세요."))
fun(a,b,c)

2018/01/27 00:03

여승현

자바로 작성했는데 꽤 난잡하네요

public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        System.out.print("a = ");
        double a = cin.nextDouble();

        System.out.print("b = ");
        double b = cin.nextDouble();

        System.out.print("c = ");
        double c = cin.nextDouble();

        Long[] root = root(a, b, c);
        if(root[0].equals(null) && root[1].equals(null)) {
            System.out.println("해가 없습니다.");
        }else if(root[0] == root[1]) {
            System.out.println("x = " + root[0] + " (중근)");
        } else {
            System.out.println("x = " + root[0] + "또는 x = " + root[1]);
        }
        cin.close();
    }
    public static Long[] root(double a, double b, double c) {
        Long[] root = new Long[2]; //Math.round는 long타입으로 반환하기 때문에 long배열로 선언한다.
        double[] droot = new double[2];
        if(((b * b) - (4 * a * c)) >= 0) {
            droot[0] = (-b + Math.sqrt((b * b) - (4 * a * c))) / (2 * a);
            droot[1] = (-b - Math.sqrt((b * b) - (4 * a * c))) / (2 * a);
        }else {
            root[0] = root[1] = null;
        }

        root[0] = Math.round(droot[0]);
        root[1] = Math.round(droot[1]);

        return root;
    }

2018/01/20 23:58

YEAHx4

# python 3.6

def solEq(a, b, c):
    D = b**2 - 4*a*c # 판별식
    rst = None if D <0 else \
    set([round((-b + D**0.5) / (2*a)), round((-b - D**0.5) / (2*a))])
    return rst

def main():
    a, b, c = map(float, input("Input (a, b, c): ").split(","))
    rst = solEq(a, b, c)
    print("Solution:", rst)


if __name__=="__main__":
    main()

2018/01/27 23:11

mohenjo

print('------------------------------------------------')
print('   2차 방정식의 근을 구해주는 프로그램 입니다 ')
print('------------------------------------------------')
print('        기본 틀 : aX^2 + bX + c = 0       ')
print('----------------------------------------------')
a = float(input('        a의 값을 입력하십시오 : '))
b = float(input('        b의 값을 입력하십시오 : '))
c = float(input('        c의 값을 입력하십시오 : '))
print('----------------------------------------------')

import math

def discriminant(a,b,c):
    def_num = b**2-4*a*c
    if def_num >= 0:
        fin_num = 0
    else:
        fin_num = 1
    return fin_num

def quadratic_formula(a,b,c):
    n = b**2-4*a*c
    positive = (-b + math.sqrt(n))/(2*a)
    negative = (-b + math.sqrt(n))/(2*a)
    if positive == negative:
        print('중근 입니다.')
        answer = [positive]
    else:
        answer = [positive,negative]
    return answer

if discriminant(a,b,c) == 1:
    print('근이 존재하지 않습니다.')
else:
    print(quadratic_formula(a,b,c))

2018/01/29 19:03

ICON


{-# LANGUAGE QuasiQuotes #-}

import Data.Complex
import Data.List
import Data.String.Interpolate

type CD = Complex Double

roots :: (CD, CD, CD) -> [CD]
roots (a,b,c) = nub [sol id, sol negate]
  where
    d = b^2-4*a*c
    sol f = (f (sqrt d) - b)/(2*a)

isReal = (==0) . imagPart

reals = fmap realPart . filter isReal




render :: [CD] -> IO ()
render = putStrLn . display . fmap round . reals
  where
    display [a,b] = [i|근: #{a}, #{b}|]
    display [a]   = [i|중근: #{a}|]
    display []    = [i|해가 없습니다.|]

main = do
  [a,b,c] <- fmap (:+0) . fmap read . words <$> getLine
  render $ roots (a,b,c)

2018/01/31 06:37

sodii

c언어입니다!

#include<stdio.h>
#include<math.h>
#include<float.h>

typedef unsigned short int UShort;

int main(int argc, char *argv[]);
void Input(double *a, double *b, double *c);
void GetAnswers(double a, double b, double c, double (*answers), UShort *count);
void Output(double (*answers), UShort count);

int main(int argc, char *argv[]) {
    double a, b, c;
    double answers[2];
    UShort count;

    Input(&a, &b, &c);
    GetAnswers(a, b, c, answers, &count);
    Output(answers, count);

    return 0;
}

//입력을 처리하는 함수
void Input(double *a, double *b, double *c) {

    puts("이차방정식은 aX^2 + bX + c = 0 의 형태로 되어 있습니다. a,b,c의 값을 입력해 주세요.");
    printf("a의 값 : ");
    scanf("%lf", a);
    printf("b의 값 : ");
    scanf("%lf", b);
    printf("c의 값 : ");
    scanf("%lf", c);
}

//연산 함수
void GetAnswers(double a, double b, double c, double (*answers), UShort *count) {
    UShort i = 0;
    double judge = pow(b, 2.0) - a * c * 4;

    *count = 0;

    if(fabsf(a - 0.0) <= DBL_EPSILON) {
        if(fabsf(b - 0.0) <= DBL_EPSILON) {
            if(fabsf(c - 0.0) <= DBL_EPSILON) {
                *count = 3;
            }
        } else {
            answers[i] = - c / b;
            (*count)++;
            i++;
        }

    } else if(judge > 0.0) {
        answers[i] = (-b + sqrt(judge)) / (a * 2);
        (*count)++;
        i++;
        answers[i] = (-b - sqrt(judge)) / (a * 2);
        (*count)++;
        i++;
    } else if(fabsf(judge - 0.0) <= DBL_EPSILON) {
        answers[i] = - b / (a * 2);
        (*count)++;
        i++;
    }
}

//출력함수
void Output(double (*answers), UShort count) {
    UShort i = 0;

    if(count == 0) {
        puts("해가 없습니다.");
    } else if(count == 1) {
        answers[i] = round(answers[i]);
        printf("중근 %d를 해로 갖습니다.\n", (int)answers[i]);
    } else if(count == 2) {
        answers[i] = round(answers[i]);
        answers[i+1] = round(answers[i+1]);
        printf("두 개의 해 %d, %d를 갖습니다.\n", (int)answers[i], (int)answers[i+1]);
    } else {
        puts("해가 무수히 많습니다.");
    }
}

2018/01/31 15:51

sangw0804

import math
n = list(map(int,input("계수를 입력하시오(,로 구분) : ").split(',')))
def quadraticeq(a):
    if a[0] == 0:
        if a[1] == 0:
            if a[2] == 0:
                return "항등식입니다."
            else:
                return "해가 없습니다."
        else:
            return ("{0}로 하나의 근을 가집니다.".format(round(-a[2]/a[1])))

    else:
        if (a[1]*a[1]-4*a[0]*a[2]) > 0:
            return (round((-a[1]+math.sqrt(a[1]*a[1]-4*a[0]*a[2]))/(2*a[0])), round((-a[1]-math.sqrt(a[1]*a[1]-4*a[0]*a[2]))/(2*a[0])))
        elif (a[1]*a[1]-4*a[0]*a[2]) ==0:
            return "{0}로 중근을 가진다.".format(round(-a[1]/(2*a[0])))
        else:
            return "{0}, {1}로 허근을 가진다.".format((complex(round(-a[1]/(2*a[0])), round(math.sqrt(-a[1]*a[1]+4*a[0]*a[2]))/(2*a[0]))), complex(round(-a[1]/(2*a[0])), round(math.sqrt(-a[1]*a[1]+4*a[0]*a[2]))/(2*a[0])))
print(quadraticeq(n))

2018/02/04 13:23

김동하

# 파이썬

input_abc = input("blank between a b c: ")
a, b, c = map(int, input_abc.split())
pm = b*b-4*a*c
if pm < 0: print("허근")
elif pm == 0: print("중근", -b / (2*a))
else:
    pm = pm**0.5
    print((-b + pm) / 2*a)
    print((-b - pm) / 2*a)

2018/02/04 23:23

olclocr

def sol(a,b,c):
    d=(b*b)-(4*a*c)
    if d<0:
        ans="허근"
        print (ans)
    else:
        ans=(round(-b-(d**0.5)/2*a)),round(-b+(d**0.5)/2*a)
        if ans[0]==ans[1]:
            print ("중근")
        print (ans)

if __name__ == "__main__":
    a,b,c=map(int, input("a,b,c>").split(","))
    sol(a,b,c)

2018/02/05 17:05

정원재

def square(a,b,c):
    D=b**2-4*a*c
    if D==0:print(half_up(-(b/(2*a))))
    elif D>0:print([round((-b-(D**0.5))/(2*a)), round((-b+(D**0.5))/(2*a))])
    else:print('실수범위에서 해가 없습니다.')
while True:
    print('이 프로그램은 계수가 부동소수인 ax^2 + bx + c = 0꼴의 이차방정식의 해를 반올림하여 출력합니다.')
    a=float(input('a를 입력하세요:'))
    b=float(input('b를 입력하세요:'))
    c=float(input('c를 입력하세요:'))
    square(a,b,c)

파이썬입니다. 부동소수 자체가 부정확해서 decimal을 써야 될듯.

2018/02/07 16:42

추천은 다 읽음

a=int(input("x^2의 계수를 입력하세요\n"))
b=int(input("x의 계수를 입력하세요\n"))
c=int(input("상수를 입력하세요\n"))

if b**2-(4*a*c)<0:
    print("해 없음")
elif b**2-(4*a*c)==0:
    print("%d"%(-b/2*a))
elif  b**2-(4*a*c)>0:
    x1 = (-b + (b ** 2 - 4 * a * c) ** 0.5) / (2 * a)
    x2 = (-b - (b ** 2 - 4 * a * c) ** 0.5) / (2 * a)
    print(x1,x2)


2018/02/17 03:04

D B

import math

a = int(input("TYPE 'a' in ax^2 + bx + c = 0: ")) b = int(input("TYPE 'b' in ax^2 + bx + c = 0: ")) c = int(input("TYPE 'c' in ax^2 + bx + c = 0: "))

discr = pow(b, 2) - 4ac imagdiscr = -pow(b, 2) + 4ac

if discr > 0: realsum1 = (-b + math.sqrt(discr))/(2a) realsum2 = (-b - math.sqrt(discr))/(2a) print("두 근: {0}, {1}".format(realsum1, realsum2))

if discr == 0: midsum = -b/2*a print("중근: {0}".format(midsum))

if discr < 0: imagsum1 = (-b + math.sqrt(imagdiscr)1j)/(2a) imagsum2 = (-b - math.sqrt(imagdiscr)1j)/(2a) print("허근입니다") print("허근: {0}, {1}".format(imagsum1, imagsum2))

2018/02/20 22:08

SeokwonLee

import java.util.Scanner; public class Solution {

public static void main(String```{.java}

자바입니다! ```[] args) {

    Scanner s = new Scanner (System.in);

    System.out.print("a? ");
    int a = s.nextInt();
    System.out.print("b? ");
    int b = s.nextInt();
    System.out.print("c? ");
    int c = s.nextInt();

    System.out.println(a+"x^2+"+b+"x+"+c+" = 0");

    solve(a,b,c);



}

public static void solve (int a, int b , int c){

    double test=((b*b)-(4*a*c));

    double res1=0;
    double res2=0;

    System.out.println(test);
    if(test>0){
     res1 = ((-b)+(Math.sqrt(test)))/(2*a) ;
     res1 = Math.round(res1);
     res2 = ((-b)-(Math.sqrt(test)))/(2*a) ;
     res2 = Math.round(res2);

    System.out.println("the answer are "+res1+","+(res2));
    }
    else if (test ==0){

        res1 = (-b)/(2*a);
        res1 = Math.round(res1);

        System.out.println("the answer is "+res1);
    }
    else{
        System.out.println("두 근은 허근입니다.");
    }

}

}


2018/02/24 09:14

미슈니

from math import sqrt
def quad_eqn(a,b,c):
    D = b**2-4*a*c
    if D > 0:
        upper = round((-b + sqrt(D))/(2*a))
        lower = round((-b - sqrt(D))/(2*a))
        print("두 실근은 %d, %d입니다." % (lower,upper))
    elif D == 0:
        print("중근: " + str(round(-b/(2*a))))
    else:
        print('해가 없습니다.')

2018/02/27 19:42

맹재환

#include<stdio.h.>
void main(){
    int a,b,c,jud;
    scanf("%d %d %d",&a,&b,&c);
    jud=b*b-4*a*c;
    if(jud<0){
        printf("해가 없습니다.");
    }
    else if(jud==0){
        printf("해는중근 x=%d 입니다.",b/-2);
    }
    else{
        printf("해는두 근 x=%d 와 x=%d 입니다.",(-b+jud)/2,(-b-jud)/2);
    }
}

2018/02/28 16:35

박선호

x = lambda a, b, c: ((-b + sqrt(b**2 - 4*a*c)) / (2*a), (-b - sqrt(b**2 - 4*a*c)) / (2*a))
  • lambda 인자로 a, b, c에 대한 값을 받습니다. (ax^2 + bx + c = 0일때)
  • 두가지 답을 도출합니다. (+의 경우, -의 경우)
    • 공식1: (-b + sqrt(b**2 - 4*a*c)) / (2*a)
    • 공식2: (-b - sqrt(b**2 - 4*a*c)) / (2*a)

2018/03/06 12:21

꾸무

C++입니닷

#include<iostream>
#include<math.h>
using namespace std;


class Math
{
private:
    double a, b, c, val;
public:
    Math(int a1, int b1, int c1)
        :a(a1), b(b1), c(c1)
    {
        cout << "이차함수:" << a << "X2 + " << b << "X + " << c << endl;
        val = 0;
    }


    int findval()
    {
        val = b * b - 4 * a*c;
        if (val > 0)
        {
            return 0;
        }
        if (val == 0)
        {

            return 1;
        }
        if (val < 0)
        {
            cout << "두개의 해가 있다" << endl;
            return 2;
        }
    }

    void getval()
    {
        if(val > 0)
            cout << "해가 없다" << endl;
        if(val == 0)
        {
            cout << "한개의 해 " << (-b/a)*0.5 << " 가 있다" << endl;
        }
        if (val < 0)
        {
            cout << "두개의 해 " << ((-b + sqrt(b*b - 4 * a*c)) / a)*0.5 << " 와 " << ((-b - sqrt(b*b - 4 * a*c)) / a)*0.5 << " 가 있다" << endl;
        }
    }

};



int main(void)
{
    double a, b, c;
    cout << "X2의 계수를 입력하세요";
    cin >> a;
    cout << endl;
    cout << "X의 계수를 입력하세요";
    cin >> b;
    cout << endl;
    cout << "X0의 계수를 입력하세요";
    cin >> c;
    cout << endl;
    Math test(a, b, c);
    test.findval();
    test.getval();

    return 0;
}

2018/03/06 15:27

이동현

#include <iostream>
#include <cmath>
using namespace std;
void quad_eqn(double a, double b, double c);
void main(void)
{
    double a, b, c;
    cout << "이차방정식의 근을 구하는 프로그램입니다" << endl;
    cout << "ex) ax²+ bx + c... a, b, c의 값을 입력하세요" << endl;
    cout << "a값 입력 : ";
    cin >> a;
    cout << "b값 입력 : ";
    cin >> b;
    cout << "c값 입력 : ";
    cin >> c;
    quad_eqn(a, b, c);
}
void quad_eqn(double a, double b, double c)
{
    double d, x, y;
    d = b*b - 4 * a*c;
    if (d>0)
    {
        x = (-b - sqrt(b*b - 4 * a*c)) / 2 * a;
        y = (-b + sqrt(b*b - 4 * a*c)) / 2 * a;
        cout << "이차방정식의 근은 " << x << " 와 " << y << " 입니다" << endl;
    }
    else if (d == 0)
    {
        x = b / (-2 * a);
        cout << "이차방정식의 근은 " << x << " 입니다" << endl;
    }
    else
        cout << "근이 없습니다" << endl;

}

2018/03/13 10:12

L.M.S

print('x제곱의 계수, x의계수, 상수항의 계수를 입력하세요')
a= int(input())
b= int(input())
c= int(input())

v1 = ( b*-1 + (b**2 - 4*a*c)**0.5 )/(2*a)
v2 = -(b/a)-v1

if (type(v1)==complex) :
    print('해가 없습니다')
if ((type(v1)==int) or (type(v1)==float)) :
    print("첫 번째 해는 %f, 두 번째 해는 %f 입니다" % (v1 , v2))

2018/03/24 15:09

lssac

import math

def quadratic_formula(a,b,c):

    temp = b*b - 4*a*c
    if temp < 0:
        print("not found")
        return False

    elif temp == 0:
        x = -b / 2*a
        return [x]

    else :
        temp = math.sqrt(temp)
        x1 = (-b + temp)/ 2*a
        x2 = (-b - temp)/ 2*a
        return [x1, x2]

print(quadratic_formula(1,-4,3))

2018/03/24 21:48

재즐보프

c언어로 작성했어요
코딩 완전 초봅니다.

#include <stdio.h>
#include <math.h>
int main(void){


    int a;
    int b;
    int c;

    puts("이 프로그램은 이차방정식 ax^2 + bx + c 에서 a값 b값 c값을 입력받아 근을 구해주는 프로그램입니다.");

    puts("먼저 a값을 입력해주시겠어요? ");
    scanf("%d" , &a);

    puts("b값을 입력해주세요");
    scanf("%d" , &b);

    puts("c값을 입력해주세요");
    scanf("%d" , &c);

    int a2 = a*2;

    int ac4 = 4*a*c;
    int B = pow(b,2);

    int D;  //판별식  
    D = B - ac4;


    double root_D;
    root_D = sqrt(D);


    double numerator1; // 근의공식에서 분자부분 1
    numerator1 = -b + root_D;

    signed long answer1; // 근 1 
    answer1 = numerator1/a2;

    double numerator2; // 근의공식에서 분자부분 2 
    numerator2 = -b - root_D;

    signed long answer2;  // 근 2 
    answer2 = numerator2/a2;


    if(answer1 == answer2){
        printf("x의 값은 %li (중근) ", answer1);
    }

    else{
    printf("x는 %li또는 %li 입니다",answer1 , answer2);
    }

    return 0;
}








2018/03/25 00:34

김태균

import java.util.Scanner;

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

  System.out.print("a= ");
  int a = sc.nextInt();
  System.out.print("\nb= ");
  int b = sc.nextInt();
  System.out.print("\nc= ");
  int c = sc.nextInt();

  if(b*b-4*a*c < 0)
   System.out.println("해가 없습니다.");
  else{

   int result1 = (int)(((-1)*b + Math.sqrt(b*b-4*a*c))/2/a);
   int result2 = (int)(((-1)*b - Math.sqrt(b*b-4*a*c))/2/a);

   if(result1 == 0 && result2 == 0)
    System.out.println("해는 " + result1 + "입니다.");
   else
    System.out.println("해는 " + result1 + "와" + result2 + "입니다.");
  }
 }
}

2018/03/31 16:02

배혜민

import math
def quad(a,b,c):
       o = b**2 - 4*a*c
       if o > 0:
              x1 = round((-b + math.sqrt(o))/2*a)
              x2 = round((-b - math.sqrt(o))/2*a)
              print(x1,x2)
       elif o == 0:
              x = round(-1*(b/2*a))
              print("%d(중근)", (x))
       else :
              print("허근입니다")

2018/04/17 22:50

김영성

Swift입니다.

import Foundation

func solveEquation(a: Int, b: Int, c: Int) {
    let p = Double(b*b - 4*a*c)
    if p < 0 {
        print("Imaginary root.")
    } else {
        let v1 = (Double(b) * -1 + sqrt(p)) / 2 * Double(a)
        if p == 0 {
            print("Multiple root. \(v1)")
        } else {
            let v2 = (Double(b) * -1 - sqrt(p)) / 2 * Double(a)
            print("\(v1), \(v2)")
        }
    }
}

solveEquation(a:1, b:-2, c:1)
solveEquation(a:1, b:1, c:-6)
solveEquation(a:4, b:1, c:1)

실행결과는..

Multiple root. 1.0
2.0, -3.0
Imaginary root.

2018/04/21 01:52

졸린하마

// 자바
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int a = Integer.parseInt(br.readLine());
        int b = Integer.parseInt(br.readLine());
        int c = Integer.parseInt(br.readLine());
        int x = Math.round((-b + (int)Math.sqrt(b*b-4*a*c)) / 2*a);
        int x2 = Math.round((-b - (int)Math.sqrt(b*b-4*a*c)) / 2*a);

        if (b*b-4*a*c > 0)
            System.out.println("해는 : " + x +", " + x2);
        else if (b*b-4*a*c == 0)
            System.out.println("중근 : " + x);
        else
            System.out.println("허근");
    }

2018/05/07 11:28

정몽준

    public static void math(int a, int b, int c)
    {
        int k=0;
        double m=0;
        double x1,x2=0;
        k= (b*b)-(4*a*c);
        x1 = (-b+Math.sqrt(k))/(2*a);
        x2 = (-b-Math.sqrt(k))/(2*a);

        if(a!=0)
        {
            if(k>=0)
            {
                System.out.println(m);
                System.out.println(a+"x^2 "+b+"x "+c);

                System.out.println("첫 번째 해:"+x1);
                System.out.println("두 번째 해:"+x2);

            }
            else
            {
                System.out.println("해를 구할수 없습니다.");
            }

        }
        else
        {
            System.out.println("이차 방정식이 아닙니다.");
        }
    }

2018/05/13 16:49

박용훈

x = 0
y = 0
z = 0
D = 0
def gongsik(a, b, c):
    x = (b*b-4*a*c)
    y = (-b + x**0.5) / 2*a
    z = (-b - x**0.5) / 2*a
    D = b**2 - 4*a*c
    if D > 0:
        print("해는 2개 %.0f, %.0f" % (y, z))
    elif D < 0:
        print("해는 없습니다.")

    elif D == 0:
        print("해는 1개 %.0f" % float(((-b/a)/2)) )
print("----------------------")    
print(" ax^2 + bx + c = 0 ")
print("----------------------")

a = float(input("a 입력:"))
b = float(input("b 입력:"))
c = float(input("c 입력:"))

gongsik(a, b, c)


파이썬으로 헀습니당

2018/06/16 00:44

pum Ma

def Q_F(a,b,c):
    if b**2-4*a*c < 0: return False
    elif b**2-4*a*c == 0: return (-b)/(2*a)
    else: return (((b**2-4*a*c)**0.5-b)/(2*a),(-((b**2-4*a*c)**0.5)-b)/(2*a))

a = float(input('a: '))
b = float(input('b: '))
c = float(input('c: '))
solution = Q_F(a,b,c)
if isinstance(solution,tuple): print('{}, {}'.format(round(solution[0]),round(solution[1])))
elif isinstance(solution,float): print('{}'.format(round(solution)))
else: print(solution)

2018/06/28 22:54

Creator

package com.company; import java.math.*; import java.util.Scanner;

public class Main {

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    double a = sc.nextDouble();
    double b = sc.nextDouble();
    double c = sc.nextDouble();
    getAnswer(a,b,c);
}

public static void getAnswer(double a, double b, double c)
{
    if(b*b - 4*a*c > 0) // 근이2개
    {

        double ans_1 = (((-b + Math.sqrt(b*b - 4*a*c))/ (2*a)));
        double ans_2 = (((-b - Math.sqrt(b*b - 4*a*c))/ (2*a)));
        if(ans_1 > 0 && ans_2 > 0)
        {
            System.out.println((int)(ans_1 + 0.5) + "," + (int)(ans_2 + 0.5));
        }
        else if(ans_1 > 0 && ans_2 < 0)
        {
            System.out.println((int)(ans_1 + 0.5) + "," + (int)(ans_2 - 0.5));
        }
        else
        {
            System.out.println((int)(ans_1 - 0.5) + "," + (int)(ans_2 - 0.5));
        }
    }
    else if(b*b - 4*a*c == 0) // 근이1개
    {
        double ans = (-b/2*a);
        if(ans > 0)
        {
            System.out.println((int)(ans + 0.5));
        }
        else
        {
            System.out.println((int)(ans - 0.5));
        }
    }
    else
    {
        System.out.println("노답");
    }
}

}

2018/07/09 19:18

이동수

import java.util.Scanner;

public class Javatutorial {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double a, b, c, s, D;

        System.out.print("a, b, c = ");
        a = sc.nextDouble();
        b = sc.nextDouble();
        c = sc.nextDouble();

        D = b * b - 4 * a * c;
        if (D < 0) {
            System.out.println("해가 없습니다.");
        } else if (D == 0) {
            System.out.println( Math.round((-1 * b) / (2 * a)) );
        } else {
            System.out.println( Math.round(((-1 * b) + Math.sqrt(D)) / (2 * a)));
            System.out.println( Math.round(((-1 * b) - Math.sqrt(D)) / (2 * a)));
        }       
    }
}

2018/07/13 17:37

Noname

ax²+bx+c=0

input a
input b
input c

D=b²-4ac

If D≥0:
    x=(-b±sqrt(D))÷2a
    Print x
Else:
    xa=-b/2a
    xb=sqrt(D)/2a
    Print xa+xbi

이렇게 하면 허근도 나타낼 수 있을 것 같네요.

딱히 프로그래밍 언어는 아니지만 알아 볼 수 있게(?)

2018/08/04 23:40

박현

def quadratic_equation(a,b,c):
    D=b**2 -4*a*c
    if D > 0:
        d1=round((-b-D**0.5)/2*a)
        d2=round((-b+D**0.5)/2*a)
        print("x","=",d1,",",d2)
    elif D == 0:
        x=round(-b/2*a)
        print("중근")
        print("x","=",x)
    else:
        print("허근")
a=int(input("a 입력 :"))
b=int(input("b 입력 :"))
c=int(input("c 입력 :"))

if __name__ =="__main__":
    quadratic_equation(a,b,c)

2018/08/18 12:56

S.H

def abc(a,b,c):
    D=b**2-4*a*c
    if D==0:
        print(-b/2*a)
    elif D>0:
        print((-b+D**0.5)/2*a, (-b-D**0.5)/2*a)
    else:
        print('허근이다.')

a=float(input('a:'))
b=float(input('b:'))
c=float(input('c:'))

abc(a,b,c)

2018/09/12 20:36

전형진

import math

def calc_eq(inputs):
    assert len(inputs)==3
    a, b, c = inputs
    #print(a, b, c)
    if a == 0: return None

    outputs = []
    outputs.append((-b+math.sqrt(b*b-4*a*c))/(2*a))
    outputs.append((-b-math.sqrt(b*b-4*a*c))/(2*a))
    #print(outputs)
    return outputs

2018/09/18 21:29

phg98

from math import sqrt

a = int(input("a = "))
b = int(input("b = "))
c = int(input("c = "))

if (b*b - 4*a*c) >= 0:

    if a == 0:

        if b == 0:
            print("there's no X")
        else:
            print(-(c / b))

    else:

        if b == 0:
            if (a * c) < 0:
                print(sqrt((-c)/a))
            elif (a * c) == 0:
                print(0)
            else:
                print("there's no X")

        else:
            x1 = (-b + sqrt(b*b - 4*a*c)) / (2 * a)
            x2 = (-b - sqrt(b*b - 4*a*c)) / (2 * a)
            if x1 == x2:
                print(x1)
            else:
                print(str(x1) + ", " + str(x2))

else:
    print("there's no X")

2018/11/13 22:14

그사람 남한 볼 수 있어요

import math a=float(input("a의 값을 입력하시오:")) b=float(input("b의 값을 입력하시오:")) c=float(input("c의 값을 입력하시오:")) formul=(b2)-(4ac) if formul>0: x1=(-b2+(math.sqrt(4ac)))/2a x2=(-b2-(math.sqrt(4ac)))/2a print("x값은:%d %d" % (x1,x2)) elif formul==0: x=(-b/2*a) print("x값은:%d" % x) else : print("x값은 없습니다.")


2018/11/27 00:32

빅디펜스

import math
a=float(input("a의 값을 입력하시오:"))
b=float(input("b의 값을 입력하시오:"))
c=float(input("c의 값을 입력하시오:"))
formul=(b**2)-(4*a*c)
if formul>0:
    x1=(-b**2+(math.sqrt(4*a*c)))/2*a
    x2=(-b**2-(math.sqrt(4*a*c)))/2*a
    print("x값은:%d %d" % (x1,x2))
elif formul==0:
    x=(-b/2*a)
    print("x값은:%d" % x)
else :
    print("x값은 없습니다.")

2018/11/27 00:32

빅디펜스

# 이차방정식 근 구하기

def quad_equ(a,b,c) :

    D = (b * b) - (4 * a * c)

    import math

    if D > 0 :
        root1 = (-b + math.sqrt(D)) / (2 * a)
        root2 = (-b - math.sqrt(D)) / (2 * a)
        print("이차방정식 '%dx^2 + %dx + %d = 0'의 근은 %0.0f와 %0.0f입니다." % (a, b, c, root1, root2))

    elif D == 0 :
        root = -b / (2 * a)
        print("이차방정식 '%dx^2 + %dx + %d = 0'의 근은 %0.0f입니다." % (a, b, c, root))

    else :
        print("이차방정식 '%dx^2 + %dx + %d = 0'의 근은 실수 범위 내에 존재하지 않습니다." % (a, b, c))

print("이차방정식 'ax^2 + bx + c = 0'에 대하여 'a,b,c'값 입력(단, a는 0이 아님)")

solution = quad_equ(float(input("a값을 입력하세요 : ")),float(input("b값을 입력하세요 : ")),float(input("c값을 입력하세요 : ")))

2018/11/29 19:50

lucky1to10

def secod():
    print('ax**2 + bx + c = 0')
    a = int(input('a값을 입력하세요: '))
    b = int(input('b값을 입력하세요: '))
    c = int(input('c값을 입력하세요: '))
    s = (b*b)-(4*a*c)

    if s > 0:
        x1 = round((-b+s**0.5)/2*a)
        x2 = round((-b-s**0.5)/2*a)
        print('x','=',x1,'and',x2)
    elif s == 0:
        x = (-b)/2*a
        print('중근입니다')
        print('x = ',x)
    else:
        print('허근입니다')

궁금한 부분이 있는데 파이썬에서는 루트값을 표현할 수 없나요?

x2 - 6x + 4 = 0과 같은 식의 해는 정확하지 않아서요

2018/12/14 14:40

하이퍼

def d(a,b,c):
    d=b**2-4*a*c
    return d
def solve():
    if D>0:
        sqrt=D**0.5
        x1=(-b+sqrt)/(2*a)
        x2=(-b-sqrt)/(2*a)
        print('x1={:.2f},x2={:.2f}'.format(x1,x2))
    elif D==0:
        x=-b/(2*a)
        print('x={:.2f}'.format(x))
    else:
        i=(abs(D))**0.5
        x1=complex(-b/(2*a),i/(2*a))
        x2=complex(-b/(2*a),-i/(2*a))
        print('x1={:.2f},x2={:.2f}'.format(x1,x2))
a=int(input('이차항계수를 입력하시오'))
b=int(input('일차항계수를 입력하시오'))
c=int(input('상수항계수를 입력하시오'))
print('이차방정식:',a,'x^2+',b,'X+',c,'=0')
D=d(a,b,c)
solve()

2019/01/03 22:12

GammaKnight

import math
a,b,c = map(int,input().split())

def quadr(a,b,c):
    D = (b**2) - (4*a*c)
    if a == 0:
        x = -c / b
    else:
        if D > 0:
            x = (-b + math.sqrt(D)) / (2*a)
            y = (-b - math.sqrt(D))/ (2*a)
            return round(x),round(y)
        elif D == 0:
            x = -b / (2*a)
            return round(x)
        else:
            return '해가 없습니다'

print(quadr(a,b,c))

2019/01/21 16:19

D.H.

#include <stdio.h>
#include <math.h>

int main(void)
{
    double a, b, c;
    double sol1, sol2;

    scanf("%lf%lf%lf", &a, &b, &c);

    if (b*b < 4 * a*c)
    {
        printf("근 없음");
    }

    else if (b*b > 4 * a*c)
    {
        sol1 = (-b + sqrt(b*b - 4 * a*c)) / 2 / a;
        sol2 = (-b - sqrt(b*b - 4 * a*c)) / 2 / a;
        printf("%.0lf\n", sol1);
        printf("%.0lf", sol2);
    }

    else
    {
        sol1 = -b / 2 / a;
        printf("%.0lf", sol1);
    }   
    return 0;
}

2019/01/31 22:53

김태헌

a = int(input("x^2의 계수를 입력하세요 "))
b = int(input("x의 계수를 입력하세요 "))
c = int(input("상수를 입력하세요 "))

def fomula(a, b, c) :
    D = b**2 - 4*a*c
    if D == 0 :
        x1 = round(-b / (a * 2))
        print(x1)
    elif D > 0 :
        x2 = round(-b + (b**2 - 4*a*c)**1/2 / (2*a))
        x3 = round(-b + (b**2 + 4*a*c)**1/2 / (2*a))
        print(x2, x3)
    else :
        print("허근입니다.")

fomula(a, b, c)

파이썬입니다

2019/02/14 21:32

임민주

import java.util.Scanner;

public class Problem156 {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("ax^2+bx+c=0 꼴에서 a,b,c를 입력하시오");
        double a = scan.nextDouble();
        double b = scan.nextDouble();
        double c = scan.nextDouble();
        scan.close();
        double d = b*b-4*a*c;

        if(d<0)
            System.out.println("해가 없음");
        else if(d==0) {
            double root=-b/2/a;
            System.out.println("해는 "+ root +"(중근)");
        }
        else {
            double root1=(-b+Math.sqrt(d))/2/a;
            double root2=(-b-Math.sqrt(d))/2/a;
            System.out.println("해는 "+root1+"과 "+root2);
        }

    }

}

2019/02/14 21:55

송인성

namespace codingdojang__
{
    class Program
    {
        static void Main(string[] args)
        {
            Equation(1, -5, 6);
        }
        static void Equation(int a, int b, int c)
        {
            int discriminant = b * b + -4 * a * c;

            if (discriminant > 0)
            {
                Console.WriteLine(Math.Round((-b + Math.Sqrt(b * b + -4 * a * c)) / 2 * a));
                Console.WriteLine(Math.Round((-b - Math.Sqrt(b * b + -4 * a * c)) / 2 * a));
            }
            else if (discriminant == 0)
            {
                Console.WriteLine("중근 입니다.");
                Console.WriteLine((-b + Math.Sqrt(b * b + -4 * a * c)) / 2 * a);
            }
            else if (discriminant < 0)
            {
                Console.WriteLine("허근 입니다.");
            }
        }
    }
}

2019/03/17 09:57

bat

비쥬얼 스튜디오 2017로 작성했습니다.

#include <stdio.h>
#include <iostream>
using namespace std;

void main() {


    int a, b, c, x1, x2;
    printf("a, b, c를 입력하세요 : ");
    scanf("%d %d %d", &a, &b, &c);

    x1 = (-b + sqrt(pow(b, 2) - (4 * a * c)))/2;
    x2 = (-b - sqrt(pow(b, 2) - (4 * a * c)))/2;

    if (x1 == x2) {
        printf("이차방정식의 해는 %d입니다.", x1);
    }
    else {
        printf("이차방정식의 해는 %d와 %d입니다.", x1, x2);
    }
}

2019/03/21 15:50

Albert

a,b,c= map(int,input().split())

D=b*b-4*a*c

if D>0:
    print(round((-b+D**0.5)/2/a,0) , '\t' , round((-b-D**0.5)/2/a,0))
elif D==0:
    print(round(-b/2/a,0))
else:
    print('None')

2019/05/02 19:49

암살자까마귀

import math
a= int(input())
b= int(input())
c= int(input())
try:
    result = (-b + math.sqrt(b**2-4*a*c)) / (2*a)
    result2 = (-b - math.sqrt(b**2-4*a*c)) / (2*a)
    if result ==result2:
        print(round(result))
    else : 
        print(round(result), ',' ,round(result2))

except ValueError:
    print("허근")

2019/05/16 14:21

cheer

import math

def root(a, b, c):
    D = b**2 - 4*a*c
    if D > 0:
        X1 = (-b + math.sqrt(b**2 - 4*a*c)) / 2*a
        X2 = (-b - math.sqrt(b**2 - 4*a*c)) / 2*a
        return int(round(X1)), int(round(X2))
    elif D == 0:
        X1 = (-b) / 2 * a
        return int(round(X1))

a, b, c = map(int, input('각 세개의 항을 입력하시오: ').split())
print(root(a, b, c))

2019/05/18 23:10

Hwaseong Nam

def abc(a,b,c):
    D=b**2-4*a*c
    if D==0:
        print(-b/2*a)
    elif D>0:
        print((-b+D**0.5)/2*a, (-b-D**0.5)/2*a)
    else:
        print('허근이다.')

a=float(input('a:'))
b=float(input('b:'))
c=float(input('c:'))

abc(a,b,c)

2019/05/29 11:01

가나다라

파이썬 3.7 사용.

import math

print('y = ax^2 + bx + c\n')
a=[]
while(True):
    tmpinp=input('a, b, c를 각각 입력하세요 (예: 1 5 20)\n')
    a1=tmpinp.split(' ')
    if len(a1)!=3:
        print('잘못된 입력입니다. 다시 입력하세요.\n')
    else:
        try:
            for x in a1:
                a.append(float(x))
            if a1[0]!=0:
                break
            else:
                print('a에는 0이 아닌 수를 입력하세요.\n')
        except:
            print('잘못된 입력입니다. 다시 입력하세요.\n')

D=a[1]**2-4*a[0]*a[2] #판별식
x1='None'
x2='None'

if D<0:
    print('2차 방정식 y = {}*x^2 + {}*x + {}는 실근이 없습니다.'.format(a[0],a[1],a[2]))
elif D==0:
    x1=round(-1*a[1]/2/a[0]) #반올림
    print('2차 방정식 y = {}*x^2 + {}*x + {}는 x={}(정수로 반올림)에서 1개의 중근을 갖습니다.'.format(a[0],a[1],a[2],x1))
else:
    tmp1=-1*a[1]/2/a[0]
    tmp2=math.sqrt(D)/2/a[0]
    x1=round(tmp1+tmp2) #반올림
    x2=round(tmp1-tmp2)
    print('2차 방정식 y = {}*x^2 + {}*x + {}는 x={}, x={}(정수로 반올림)에서 2개의 실근을 갖습니다.'.format(a[0],a[1],a[2],x1,x2))

2019/06/07 00:36

왕초보

while __name__ == '__main__':
    l = [*(eval(input(s)) for s in (c+' = ' for c in 'abc'))]
    D = lambda a, b, c: (b**2 - 4*a*c)**(1/2)
    Sol = (set((lambda a,b,c: [*(eval('(b'+k+'D(a,b,c))/(2*a)',{'a':a,'b':b,'c':c, 'D':D}) for k in '+-')])(*l)) \
           if (lambda a, b, c: (b**2 - 4*a*c))(*l) >= 0 else set(['None']))
    print(Sol)

파이썬 3.7.3

2019/07/01 23:48

Flair Sizz

import math as m
a, b, c = input('Enter a, b, c : ').split()
a = float(a); b = float(b); c = float(c)
D = b**2 - 4*a*c
if D < 0 :
    print('No root.')
elif D == 0 :
    root = -b/(2*a)
    print('Root = %d' % round(root))
else :
    root1 = (-b + m.sqrt(b**2 - 4*a*c))/(2*a)
    root2 = (-b - m.sqrt(b**2 - 4*a*c))/(2*a)
    print('Roots = %d, %d' %(round(root1), round(root2)))

2019/07/04 23:06

조현우

python

a, b, c = map(int, input('a, b, c 를 입력하세요 (단, a != 0) > ').split())
def solve(a, b, c):
    D = b**2 - 4*a*c
    if D > 0:
        print(round((-b - D**0.5) / (2*a)), round((-b + D**0.5) / (2*a)))
    elif D == 0:
        print(-b / (2*a))
        print("중근")
    else:
        print("근이 없습니다 (허근)")
solve(a, b, c)

2019/08/03 21:48

apriori

a,b,c=(int(input("이차항입력:")),int(input("일차항입력:")),int(input("상수입력")))
if b**2 - 4*a*c ==0:
    num= ((-1)*b)/(2*a)
    print("해는 하나",num)    
elif b**2>0:
    num=((-1)*b + ((b**2 - 4*a*c)**0.5))/(2*a)
    num2=((-1)*b - ((b**2 - 4*a*c)**0.5))/(2*a)
    print("해는 두개",num,num2)
else:
    print("해 없음")

2019/08/07 16:28

박재욱

a, b, c = input().split()
a = int(a); b = int(b); c = int(c)
d = ((b**2)-4*a*c)
if d > 0:
    answer_1 = (-b + ((b**2) -4*a*c) ** 0.5) / 2*a
    answer_2 = (-b - ((b**2) -4*a*c) ** 0.5) / 2*a
    if answer_1%1 >= 0.5 or answer_2%1 >= 0.5:
        answer_1+=1; answer_2+=1; answer_1 = int(answer_1); answer_2 = int(answer_2)
    elif answer_1%1 < 0.5 or answer_2%1 < 0.5:
        answer_1 = int(answer_1); answer_2 = int(answer_2)
    print("solution1:{} solution1:{}".format(answer_1, answer_2))
elif d == 0:
    answer_1 = (-b + ((b**2) - 4*a*c) ** 0.5) / 2*a
    if answer_1 % 1 >= 0.5:
        answer_1 += 1; answer_1 = int(answer_1)
    elif answer_1%1 < 0.5:
        answer_1 = int(answer_1)
    print("solution:",answer_1)
else :
    print("no solution")

파이썬 선배님들의 좋은 코드들이 많네요!

2019/08/30 13:40

이명운

import math
a = int(input("a : "))
b = int(input("b : "))
c = int(input("c : "))
value = pow(b,2)-4*a*c
if value > 0 :
    x1 = round((-b+(math.sqrt(value)))/2*a)
    x2 = round((-b-(math.sqrt(value)))/2*a)
    print("값은 {}, {}",format(x1,x2))
elif value == 0:
    x1 = round(-b/2*a)
    print("중근 : {}".format(x1))

else :
    print("허근")

2019/10/11 23:00

semipooh

package d156_quadratic_formula;
import java.util.Scanner;
public class QuadraticFormula {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a=1,b=0,c=0;
        double r1, r2;

        while(a!=0) { //a에 0 입력시 종료.
            a=sc.nextInt();
            b=sc.nextInt();
            c=sc.nextInt();

            if( (b*b - 4*a*c)==0 )
                System.out.println("중근: "+( -b/(2*a) ) );
            else if( (b*b - 4*a*c)>0 ) {
                r1 = ( -b + Math.sqrt(b*b - 4*a*c) )/(2*a);
                r2 = ( -b - Math.sqrt(b*b - 4*a*c) )/(2*a);
                System.out.println("실근: "+r1+" or "+r2);
            }
            else {
                r1=-b/(2*a); //허근의 실수부분
                r2=Math.sqrt( 4*a*c - b*b ); //허근의 허수부분
                System.out.println("허근: "+r1+"+"+r2+"i or "+r1+"-"+r2+"i");
            }
        }
    }
}
1 2 3
허근: -1.0+2.8284271247461903i or -1.0-2.8284271247461903i
3 4 5
허근: 0.0+6.6332495807108i or 0.0-6.6332495807108i
2 4 8
허근: -1.0+6.928203230275509i or -1.0-6.928203230275509i
2 8 4
실근: -0.5857864376269049 or -3.414213562373095
1 2 1
중근: -1
0 1 1
실근: NaN or -Infinity

2019/10/15 00:21

Katherine

파이썬 판별식을 제대로 적용하지 못한 옳지 못한 코딩

# a quadratic equation
import math
a = int(input("Input a of x^2: "))
b = int(input("Input b of x: "))
c = int(input("Input c: "))
x = (-b + (b**2 - 4 * a * c)**0.5) / (2 * a)
y = (-b - (b**2 - 4 * a * c)**0.5) / (2 * a)
print(x," ",y)

2019/10/31 14:37

Jzay

import java.util.*;
public class 이차방정식 {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();
        int c = scan.nextInt();
        if(Math.sqrt(b*b-4*a*c)==0) {
            System.out.println("중근 : "+Math.round((-b/(2*a))));
        }
        else if(Math.sqrt(b*b-4*a*c)>0) {
            System.out.print("실근 : ");
            System.out.print(Math.round((-b+Math.sqrt(b*b-4*a*c))/(2*a))+", ");
            System.out.println(Math.round((-b-Math.sqrt(b*b-4*a*c))/(2*a)));
        }

        else {
            System.out.println("허근 입니다.");
        }

    }
}

2019/11/09 18:12

big Ko

파이썬 입니다.

import math
def root_formula(a,b,c):
    d = (-b + math.sqrt((b**2)-4*a*c))/2*a 
    e = (-b - math.sqrt((b**2)-4*a*c))/2*a
    return (f'{round(d,3)},{round(e,3)}')

root_formula(-1,3,2)    # '-0.562, 3.562'

2019/11/19 10:27

data big

#include <math.h>
int* Quadratic_Equation(int a, int b, int c)
{

int result[2]; result[0] = 0, result[1] = 0;
int b_ac = 0;
b_ac = (b*b) - (4*a*c);
int sq_b_ac=0;
sq_b_ac = sqrt(b_ac);
if(b_ac != 0)
{
result[0] = (-b - sq_b_ac )/ (2*a);
result[1] = (-b + sq_b_ac )/ (2*a);
}
else
{
result[0] = (-b )/ (2*a);
]
return result;
}

2019/12/16 19:47

Anderson

def solution(a,b,c):
    D=b*b-4*a*c
    if a == 0:
        return "해를 구할 수 없습니다."
    else:
        if D>0:
            x1=round((-b-D**0.5)/2*a)
            x2=round((-b+D**0.5)/2*a)
            return '"x","=",x1,",",x2'
        elif D==0:
            x=round(-b/2*a)
            return "중근입니다"
            return '"x","=",x'
        else:
            return "허근입니다"

2019/12/23 11:13

김민규

def qdfo(a,b,c):
    if a==0:
        return "a는 0보다 커야합니다."
    d=(b*b)-(4*a*c)
    if d>0:
        x1=round((-b+(d**(1/2)))/2*a)
        x2=round((-b-(d**(1/2)))/2*a)
        return x1, x2
    elif d==0:
        x12=round(-b/2*a)
        print("중근입니다.")
        return x12
    else:
        print("허근입니다.")

2019/12/28 11:46

박시원

파이썬 3입니다.

decimal의 Decimal을 활용했습니다

from decimal import Decimal as De

a, b, c = tuple(map(De, input('a, b, c를 공백으로 구분하여 입력:').split()))

if a == 0 and b == 0:
    print('모든 x에 대해 해가 존재' * (c == 0) + '해가 존재하지 않음' * (c != 0))
elif a == 0:
    print('x = {}'.format(int(-c / b + De(0.5))))
else:
    D = b ** 2 - 4 * a * c
    if D == 0:
        print('x = {} (중근)'.format(int(-b / (De(2) * a) + De(0.5))))
    elif D >= 0:
        print('x = {} or {}'.format(int(-(b + D ** De(0.5)) / (De(2) * a) + De(0.5)),
                                    int(-(b - D ** De(0.5)) / (De(2) * a) + De(0.5))))
    else:
        print('x = {} or {}'.format(
            complex(int(-b / (De(2) * a) + De(0.5)), int((-D) ** De(0.5) / (De(2) * a) + De(0.5))),
            complex(int(-b / (De(2) * a) + De(0.5)), int((-D) ** De(0.5) / (De(2) * a) + De(0.5)))))

2020/01/26 15:33

우재용

import math
def Solution(a, b, c):
        D = b ** 2 - 4 * a * c
        if D > 0:
                x1 = round(((0-b) + sqrt(D)) / 2 * a)
                x2 = round(((0-b) - sqrt(D)) / 2 * a)
                return x1, x2
        elif D == 0:
                x = round((0-b) / 2 * a)
                return x
        else:
                print("허근입니다")

2020/02/02 23:25

PythonLover&Master_JK73

import math

a= int(input("a:"))

b= int(input("b:"))

c= int(input("c:"))

if (b**2) - (4*a*c) < 0 :

    print (" 실근해가 없어요")

else:
    x1= round((-b + math.sqrt(b**2 - (4*a*c)))/(2*a))

    x2= round((-b - math.sqrt(b**2 - (4*a*c)))/(2*a))

    print(x1,x2)

2020/02/09 20:58

HyukHoon Kim

a = int(input()) b = int(input()) c = int(input())

A = (b2)-(4ac) if A>0: x1 = ((-b+(A0.5))/(2a)) x2 = ((-b-(A0.5))/(2a)) print(x1, x2) elif A==0: print(-b/(2*a)) else: print("X")

2020/02/20 13:29

이국성

from math import *

def formul(a,b,c): D = b2-4ac if D<0: return '해가 없다' elif D==0: print('중근') return -b/(2*a)

else:
    x1= (-b+sqrt(b**2-4*a*c))/2*a
    x2= (-b-sqrt(b**2-4*a*c))/2*a
    return x1,x2

a,b,c = list(map(int,input().split()))

print(formul(a,b,c))

2020/03/03 16:57

황예진

def qe_solv(a, b, c):
    if a==0:
        if b==0:
            return "No solution"
        return [(-1*c)/b]
    if b**2-4*a*c<0:
        return "No real solution"
    if b**2-4*a*c==0:
        return [round((-1*b)/(2*a))]
    if b**2-4*a*c>0:
        return [round((((b**2-4*a*c)**0.5)-b)/(2*a)), round((-((b**2-4*a*c)**0.5)-b)/(2*a))]

2020/03/08 12:28

Caplexian _

#2차방정식 Solver by Python

#coefficient input
a = float(input('please enter a:'))
b = float(input('please enter b:'))
c = float(input('please enter c:'))

#define
D=b**2-4*a*c
r1=(-b+D**(1/2))/(2*a)
r2=(-b-D**(1/2))/(2*a)

s1=int(r1)
s2=int(r2)

#get answer
if D<0:
    print("This equation has no answer")
elif D==0:
    print(f'This equation has a root: s1')
else: print(f'This eqation has two real roots: {s1}, {s2}')


2020/03/10 20:31

여종헌

N = list(map(int,input("ax^2 + bx + cx = 0일때 a,b,c을 작성해주세요.").split()))
M = int((-N[1] + ((N[1]**2 -4*N[0]*N[2])**0.5))/(2*N[0]))
M2 = int((-N[1] - ((N[1]**2 -4*N[0]*N[2])**0.5))/(2*N[0]))
if N[1]**2 -4*N[0]*N[2] > 0:
    print(M)
    print(M2)
if N[1]**2 - 4*N[0]*N[2] == 0:
    print(M)
if N[1]**2 - 4* N[0]*N[2] < 0:
    print("없다")

2020/03/24 15:52

BlakeLee

print('이차방정식 aX^2+bX+c = 0')
a=int(input(' a : '))
b=int(input(' b : '))
c=int(input(' c : '))

import math

k=b*b-4*a*c
if k < 0:
    print('해가 없음')
elif k==0:
    alpa = -b/(2*a)
    print('중근이고, 해는 ',alpa)
else :
    alpa=(-b+math.sqrt(k))/(2*a)
    beta=(-b-math.sqrt(k))/(2*a)
    print('해는두개 ',alpa,'',beta)

2020/04/19 22:25

양양짹짹

import math

a=int(input("2차 계수 : "))
b=int(input("1차 계수 : "))
c=int(input("상수 계수 : "))

D=b**2-4*a*c

if D<0:
    print("허근")
elif D==0:
        print("중근 : {}".format(-b/(2*a)))
else:
    one_res=(-b+math.sqrt(D))/(2*a)
    two_res = (-b - math.sqrt(D)) / (2 * a)
    print("실근 2개 : {} , {}".format(one_res,two_res))

2020/04/21 23:05

kim center

public class Q155 {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.print("a : ");
        int a = scan.nextInt();
        System.out.print("b : ");
        int b = scan.nextInt();
        System.out.print("c : ");
        int c = scan.nextInt();

        ArrayList<Integer> value = new ArrayList<Integer>();

        try {
            if(b*b-4*a*c>0) {
                value.add((int)(-b+Math.sqrt(b*b-4*a*c))/(2*a));
                value.add((int)(-b-Math.sqrt(b*b-4*a*c))/(2*a));
                System.out.print("서로 다른 두 실근 : ");
                System.out.println(value);
            }
            else if(b*b-4*a*c==0) {
                value.add((int)(-b+Math.sqrt(b*b-4*a*c))/(2*a));
                System.out.print("중근 : ");
                System.out.println(value);
            }
            else if(b*b-4*a*c<0) System.out.println("서로 다른 두 허근 : 정수 해가 없음");
        }catch(Exception e) {
            System.out.println("a가 0인 2차 방정식은 없습니다.");
        }

        scan.close();
    }
}

2020/05/06 21:34

Daniel Park

import math

a = int(input())
b = int(input())
c = int(input())

if b**2-4*a*c >=0:
    xpos = round((-b+math.sqrt(b**2-4*a*c))/2*a)
    xneg = round((-b-math.sqrt(b**2-4*a*c))/2*a)
    print(xpos)
    print(xneg)
else:
    print("근이 없습니다")


2020/05/08 22:10

Money_Coding

def x_2(a,b,c):
    print ('\n'+str(a)+'x^2 + '+str(b)+'x + '+str(c)+' =0')
    if a==0:
        print ('error (a=0)')
    else:
        d=b**2-4*a*c
        if d>0:
            print('    x1=',((-1*b)+d**0.5)/2*a,'   x2=',((-1*b)-d**0.5)/2*a)
        elif d==0:
            print('   x(중근)=',(-1*b)/2*a)
        else:
            print ('   근이 없습니다 (허근)')

x_2(0,4,1)
x_2(1,0,-1)
x_2(1,4,4)
x_2(4,1,4)

2020/05/14 13:37

Buckshot

0x^2 + 4x + 1 =0 error (a=0) 1x^2 + 0x + -1 =0 x1= 1.0 x2= -1.0 1x^2 + 4x + 4 =0 x(중근)= -2.0 4x^2 + 1x + 4 =0 근이 없습니다 (허근) - Buckshot, 2020/05/14 13:37
Scanner scan = new Scanner(System.in);

        int[] n = new int[3];
        for(int i=0; i<3; i++) {
            System.out.print("정수: ");
            n[i] = scan.nextInt();
        }

        int answer1 = Math.round(-n[1]+(int)(Math.sqrt(n[1]*n[1]-(4*n[0]*n[2]))))/2;
        int answer2 = Math.round(-n[1]-(int)(Math.sqrt(n[1]*n[1]-(4*n[0]*n[2]))))/2;

        if(n[1]*n[1]-(4*n[0]*n[2])==0) {            
            System.out.printf("정답 : %d", answer1);
        }else if(n[1]*n[1]-(4*n[0]*n[2])<0){
            System.out.println("해가 없음");
        }else {
            System.out.printf("정답 : %d, %d", answer1, answer2);
        }

2020/10/07 17:06

B A

from math import *
a,b,c=map(int,input().split())
if b**2-(4*a*c)>0:
    x=round((-b+sqrt(b**2-(4*a*c))-sqrt((b**2-(4*a*c))))/(2*a))
    print(x)
elif b**2-(4*a*c)==0:
    x=(-b//2)
    print('{0},{0}'.format(x))
else:
    print('해가 존재하지 않음')

2020/10/10 11:13

AppleFarmer

#include <stdio.h>
#include <math.h>

int main()
{
    int a,b,c;

    printf("ax^2+bx+c=0의 a,b,c를 입력해 주세요\n");
    scanf("%d %d %d",&a,&b,&c);

    if(pow(b,2)-4*a*c>0)
        printf("%lf,%lf",(-b+sqrt(pow(b,2)-4*a*c))/(2*a),(-b-sqrt(pow(b,2)-4*a*c))/(2*a));

    else if((pow(b,2)-4*a*c)==0)
        printf("%lf",-b/2*a*c);

    else
        printf("근이 없습니다.");

    return 0; 
}

2020/10/10 22:22

June

import math
class GetSolution:
    def __init__(self):
        self.sol = []
    def solve2eq(self,a,b,c):
        x = (-b+math.sqrt(b*b-4*a*c))/2/a
        self.sol.append(x)
        x = (-b-math.sqrt(b*b-4*a*c))/2/a
        self.sol.append(x)
        return self.sol

y = GetSolution()
x = y.solve2eq(1,4,4)
print(x)

2020/10/18 13:34

footsize

def sol(a,b,c):
    D = b**2 - 4*a*c
    if D >= 0:
        x1 = (-b + (b**2 - 4*a*c))/2*a
        x2 = (-b - (b**2 - 4*a*c))/2*a
        print('x1: {}, x2: {}'.format(int(x1), int(x2)))
    else:
        print("NO ANSWER")


a = int(input('INPUT a:'))
b = int(input('INPUT b:'))
c = int(input('INPUT c:'))

sol(a,b,c)

2020/11/18 09:38

DSHIN

def quadratic_equ(a, b, c):
    """
    find a solution x from quadratic equation with
    given numbers a, b, c
    ax*2 + bx + c = 0
    """
    d = b*b - 4*a*c
    if d > 0:
        # real roots,서로다른 두개의 실근.
        x1 = round((-b + d**0.5) / 2*a)
        x2 = round((-b - d**0.5) / 2*a)
        print("x = ", x1, " ", x2)
    elif d == 0:
        # multiply roots, 서로같은 실근.
        x = round(-b/(2*a))
        print("x = ", x)
    else:
        # imaginary roots, 서로다른 두개의 허근.
        print("there are no real roots, it's imaginary roots.")


quadratic_equ(2, 5, 7)
quadratic_equ(12, 6, 54)
quadratic_equ(2, 25, 25)
quadratic_equ(1, 42, 88)
>>>there are no real roots, it's imaginary roots.
>>>there are no real roots, it's imaginary roots.
>>>x =  -4   -46
>>>x =  -2   -40

2020/11/24 03:24

방금프로그래밍시작함

from math import *

a=int(input("2 :"))

b=int(input("1 :"))

c=int(input("0 :"))

if (b**2-4*a*c)==0:

  print("answer is {0}".format(b/(2*a)))

elif (b**2-4*a*c)<=0:

  print("this equation has no answer")

else:

  answer=int((b-sqrt(b**2-4*a*c))/(2*a))

  answer2=int((b+sqrt(b**2-4*a*c))/(2*a))

  print("answer is {0}, {1}".format(answer,answer2))

2020/12/03 18:42

전준혁

c++

#include <iostream>
#include <math.h>

using namespace std;

int main() {
    ios::sync_with_stdio();
    int a, b, c;
    cin >> a >> b >> c;
    if ((pow(b, 2) - (4 * a * c)) > 0) {
        cout << (int)((-b + sqrt(pow(b, 2) - (4 * a * c))) / (2 * a)) << endl << (int)((-b - sqrt(pow(b, 2) - (4 * a * c))) / (2 * a)) << endl;
    }
    else if ((pow(b, 2) - (4 * a * c)) == 0) {
        cout << (int)((-b + sqrt(pow(b, 2) - (4 * a * c))) / (2 * a)) << endl;
    }
    else if ((pow(b, 2) - (4 * a * c)) < 0) {
        cout << "없다" << endl;
    }
    return 0;
}

c language

#include <stdio.h>
#include <math.h>

using namespace std;

int main() {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    if ((pow(b, 2) - (4 * a * c)) > 0) {
        printf("%d \n%d \n", (int)((-b + sqrt(pow(b, 2) - (4 * a * c))) / (2 * a)), (int)((-b - sqrt(pow(b, 2) - (4 * a * c))) / (2 * a)));
    }
    else if ((pow(b, 2) - (4 * a * c)) == 0) {
        printf("%d\n", (int)((-b + sqrt(pow(b, 2) - (4 * a * c))) / (2 * a)));
    }
    else if ((pow(b, 2) - (4 * a * c)) < 0) {
        printf("없다");
    }
    return 0;
}

2021/01/12 11:04

BlakeLee

a = int(input("0이 아닌 a의 값을 입력하세요:"))
b = int(input("b의 값을 입력하세요:"))
c = int(input("c의 값을 입력하세요:"))

judge = int(b ** 2 - 4 * a * c) 
print(judge)


if judge == 0:
    print("x의 값은 {}입니다.(중근)".format(round(-0.5 * b / a))
elif judge < 0:
    print("해가 존재하지 않습니다.")
elif judge > 0:
    print("x의 값은 {}, {}입니다.".format(round((-b + judge) / (2 * a)),round((-b - judge) / (2 * a))))



2021/01/13 16:25

코딩뚜

def main():
    from math import sqrt
    a = 1
    b = 12
    c = 3
    temp = b**2-4*a*c

    if temp < 0:
        print('No root of x')
    else:
        if temp == 0:
            x1 = -b/(2*a)
            x2 = x1
        elif temp > 0:
            x1 = (-b+sqrt(temp))/(2*a)
            x2 = (-b-sqrt(temp))/(2*a)

        x1 = round(x1)
        x2 = round(x2)
        print(x1,x2)
        return(x1,x2)

if __name__ == '__main__':
    main()

2021/02/03 11:45

서해원

[a, b, c] = list(map(float, input("ax^2 + bx + c = 0: ").split(', ')))

x_0 = (-b +(b**2 - 4*a*c)**0.5)/(2*a)
x_1 = (-b -(b**2 - 4*a*c)**0.5)/(2*a)

try:
    x_0 = round(x_0)
    x_1 = round(x_1)
    if x_0 == x_1 :
        print(f'답은 중근 {x_0}')
    else:
        print(f'답은 {x_0}, {x_1}')
except:
    print('답은 허근')

2021/02/14 22:36

asdfa

import math
def f(a, b, c):
    d = b*b - 4*a*c
    if d > 0:
        x = round((-b+math.sqrt(d)/(2*a))
        y= round((-b-math.sqrt(d)/(2*a))
        print('x = {}, {}'.format(x, y))

    if d = 0:
        x = round((-b+math.sqrt(d)/(2*a))
        print('x = {} (중근)'.format(x))

    else:
        print('허근')

a, b, c = map(int, input('a, b, c = '))
def f(a, b, c)


2021/02/17 13:23

Ha

a=int(input('a입력'))
b=int(input('b입력'))
c=int(input('c입력'))

D = b**2 - 4*a*c

if D > 0 :
    x1 = round((-b + D**0.5)/2*a)
    x2 = round((-b - D**0.5)/2*a)
    print(x1,x2)
if D == 0 :
    x = round(-b/2*a)
    print(x)
if D < 0 :
    print('없음')

몇 년 전 수능볼 때 근의 공식을 쓴 것이 마지막이라 다른 분들의 답과 구글링 하면서 문제를 풀었네요. 비단 근의 공식 뿐 아니라 판별식도 알아야지 풀 수 있는 문제인 것 같아요. 아무래도 알고리즘 짜는 능력보단 근의 공식과 판별식을 파이썬으로 잘 구현해낼 수 있는지를 보는 문제인 것 같습니다.

2021/03/01 11:10

최우진

from math import*

def quadratic(a, b, c):
    if (b**2-4*a*c)>0:
        return round((-b+sqrt(b**2-4*a*c))/2*a),round((-b-sqrt(b**2-4*a*c))/2*a)

    elif (b**2-4*a*c) == 0:
        return round((-b)/2*a)

    else :
        pass

2021/06/24 08:46

inkuk ju

python 3.9.5입니다. 먼저 판별식 D를 구하고, D의 부호로 근의 개수를 정하는 방식을 사용하였습니다.

a = int(input('이차항의 계수를 입력하세요. '))
b = int(input('일차항의 계수를 입력하세요. '))
c = int(input('상수항의 계수를 입력하세요. '))
d = b**2 - 4*a*c

if d < 0:
    print('허근입니다.')
elif d == 0:
    print('중근입니다.')
    print(int((-b + d ** 0.5) / (2*a)))
else:
    print('실근입니다.')
    print(int((-b + d ** 0.5) / (2*a)), end=' ')
    print(int((-b - d ** 0.5) / (2*a)))

실행 결과입니다.

이차항의 계수를 입력하세요. 1
일차항의 계수를 입력하세요. 4
상수항의 계수를 입력하세요. 3
실근입니다.
-1 -3

2021/06/25 17:37

이준우

import math
def func():
    a = int(input("이차항 계수 : "))
    b = int(input("일차항 계수 : "))
    c = int(input("상수항 계수 : "))
    D = b * b - 4 * a * c
    print("{}x^2 + {}x + {} = 0".format(a, b, c))
    if D > 0:
        print("서로 다른 두 실근")
        x_1 = int((-b + math.sqrt(D)) / (2 * a))
        x_2 = int((-b - math.sqrt(D)) / (2 * a))
        return "x_1 = {}, x_2 = {}".format(x_1, x_2)
    elif D == 0:
        print("중근")
        x = int(-b / (2 * a))
        return "x = {}".format(x)
    elif D < 0:
        return "해가 없습니다."

print(func())

2021/07/09 17:39

김준규

#codingdojing_quadratic equation

#근의 공식의 일반식 하나로 통일

#근이 없는 경우, 1개인 경우 2개인 경우

from math import *

def quadraticEquation(a, b, c):

    #ax2+bx+c = 0

    root = b**2 - 4*a*c

    if root < 0:
        print("no root")
    elif root == 0:
        print("root = ", -b/2*a)
    else:
        print("root = ", round((-b + sqrt(root))/2*a), round((-b - sqrt(root))/2*a))


quadraticEquation(2, 10, 3)

2021/07/12 16:52

Jaeman Lee

파이썬 3.8.10으로 작성되었습니다. 근이 정수이기 때문에 판별식<0 인 경우는 그냥 값이 없다고 출력 합니다.

import math
# 이차방정식 풀이 프로그램


def get_quardratic():
    a, b, c = map(int, input("3개 정수를 입력").split())
    D = b**2 - 4*a*c
    if D > 0:
        answer = [round((-b + math.sqrt(D))/2*a),
                  round((-b - math.sqrt(D))/2*a)]
    elif D == 0:
        answer = int(-b / (2*a))
    else:
        print("No answer")

    print("근의 공식의 해 : ", answer)


if __name__ == '__main__':
    get_quardratic()

2021/07/27 12:36

baek choi

a = int(input("a = "))
b = int(input("b = "))
c = int(input("c = "))
D = b**2 - 4*a*c

if D < 0:
    print("해 없음")
elif D == 0:
    print((-b + D) / 2*a)
else:
    print("1 : {}\n2 : {}".format((-b + D) / 2*a, (-b - D) / 2*a))

2021/08/15 05:44

[w]*눈꽃*

def func(a,b,c):
    D=b**2 - 4*a*c
    if D>0:
        x1=round((-b -D**0.5) /2*a)
        x2=round((-b + D**0.5)/2*a)
        print('x = %d, %d'%(x1,x2))
    elif D==0:
        x=round(-b/2*a)
        print('x= %d(중근)'%x)
    else:
        print('허근')
a=int(input('a를 입력하세요. '))
b=int(input('b를 입력하세요. '))
c=int(input('c를 입력하세요. '))
func(a,b,c)

2021/09/18 16:13

ninanino

a,b,c=int(input("a: ")),int(input("b: ")),int(input("c: "))
D=b**2-4*a*c
print("{0}, {1} 서로 다른 두 실근입니다.".format(round((-b+D**0.5)/(2*a)),round((-b-D**0.5)/(2*a)))) if D>0 else print("{0} 중근입니다.".format(round(-b/(2*a)))) if D>=0 else print("실근이 없습니다.")

2021/10/11 01:35

LSW

static void quadraticEquation(double... x) {
        double a, b, c, result1, result2;
        a = (2 * x[0]);
        b = x[1];
        c = x[2];
        b = -(b);
        if ((x[1] * x[1]) - (4 * x[0] * x[2]) > 0) {
            c = (x[1] * x[1]) - (4 * x[0] * x[2]);
        } else {
            System.out.println("해가 없습니다.");
            return;
        }
        c = Math.sqrt(c);
        result1 = b / a + c / a;
        result2 = b / a - c / a;
        System.out.println(result1 + " 이거나 " + result2);
    }

    public static void main(String[] args) {
        quadraticEquation(1, 4, -21);
    }

2021/10/24 15:19

박대현

a, b, c  = map(int,input().split())

result1 = (   -1*b + ( b**2 - 4*a*c       )**0.5  ) /     2 * a
result2 = (   -1*b - ( b**2 - 4*a*c       )**0.5  ) /     2 * a


print(-result1,-result2)

2021/11/29 12:07

황성민

import math

a= int(input("a를 입력하시오"))
b= int(input("b를 입력하시오"))
c= int(input("c를 입력하시오"))


def solution (a,b,c) :  
   x=0
   sol = []
   x1 = math.ceil(float((-b+math.sqrt((b**2-4*a*c)))/2*a))
   x2 = math.ceil(float((-b-math.sqrt((b**2-4*a*c)))/2*a))
   sol.append(x1)
   sol.append(x2)
   print(set(sol))

solution(a,b,c)

2021/12/17 02:53

양캠부부

import math
def quadfun(a, b, c):
  return (int((round((-b + math.sqrt(b**2 - 4*a*c))/2*a, 1))), int((round((-b - math.sqrt(b**2 - 4*a*c))/2*a, 1))))

2021/12/17 15:48

Charles

import math

print("ax^2 + bx + c = 0 의 해를 구하세요.")
A = int(input("Enter a: "))
B = int(input("Enter b: "))
C = int(input("Enter c: "))

def count_root(a, b, c):
    X = (b**2) - 4*a*c
    if X > 0:
        M = (-b + math.sqrt((b**2) - 4*a*c)) / 2*a
        N = (-b - math.sqrt((b**2) - 4*a*c)) / 2*a
        return "이 식의 해는 " + str(round(M)) + " 와/과 " + str(round(N)) + " 입니다."
    elif X == 0:
        M = (-b + math.sqrt((b**2) - 4*a*c)) / 2*a
        return "이 식의 해는 " + str(round(M)) + " 입니다."
    elif X < 0:
        return "이 식의 해는 허근입니다."

print(count_root(A, B, C))

2021/12/24 09:42

용가리

a = int(input("Enter the coefficients of a: "))
b = int(input("Enter the coefficients of b: "))
c = int(input("Enter the coefficients of c: "))

d = b**2-4*a*c # discriminant

if d < 0:
    print ("This equation has no real solution")
elif d == 0:
    x = (-b+math.sqrt(b**2-4*a*c))/2*a
    print ("This equation has one solutions: "), x
else:
    x1 = round((-b+math.sqrt((b**2)-(4*(a*c))))/(2*a))
    x2 = round((-b-math.sqrt((b**2)-(4*(a*c))))/(2*a))
    print ("This equation has two solutions: ", x1, " or", x2)

2022/01/24 17:13

로만가

파이썬입니다.

def abc(a,b,c):
    D = b*b-4*a*c
    if D < 0: return print('허근')
    x1 = round((-b+D**0.5)/(2*a))
    x2 = round((-b-D**0.5)/(2*a))
    if D > 0 :
        return x1, x2
    else:
        print("중근")
        return x1

2022/06/10 15:45

김시영

import math as m

print("이차방정식 ax^2 + bx + c = 0 의 해를 구합니다. 해는 정수로 반올림합니다.")
ui = list(map(int, input("이차방정식의 계수를 차례대로 입력(공백으로 구분)>> ").split()))

a = ui[0]
b = ui[1]
c = ui[2]
D = b**2 - 4*a*c

if a==0 and b==0:
    print("해가 없음")

elif a==0 and b!=0:
    x = -c/b
    print("x = %.f (중근)" % x)

elif a!=0 and D>0:
    x1 = (-b + m.sqrt(D)) / (2*a)
    x2 = (-b - m.sqrt(D)) / (2*a)
    print("x = %.f, %.f" % (x1, x2))

elif a!=0 and D==0:
    x3 = -b/(2*a)
    print("x = %.f" % x3)

elif a!=0 and D<0:
    print("실수해가 존재하지 않음")

파이썬 3.8.5

2022/07/11 23:30

Estelle L

a = int(input("a를 입력하세요. : "))
b = int(input("b를 입력하세요. : "))
c = int(input("c를 입력하세요. : "))
D = b*b-4*a*c

if D > 0 : 
    print ( int(round( (-b + D**0.5) / 2*a ,0 )), int(round( (-b - D**0.5) / 2*a, 0 ) ) )
elif D == 0 : 
    print(int(round( -b/2*a,0)) )
else :
    print ( " 해가 없음 ")

2022/08/06 21:50

김보라

python

import numpy as np

equ = input("이차방정식을 입력하시오: ").split('+')
# equ = ax^2+bx+c
a = int(equ[0][:-3])
b = int(equ[1][:-1])
c = int(equ[2])

if b**2-4*a*c < 0:
    print('해가 없습니다.')

else:
    x1 = (-b+np.sqrt(b**2-4*a*c))/(2*a)
    print(round(x1))

    x2 = (-b-np.sqrt(b**2-4*a*c))/(2*a)
    print(round(x2))

2022/09/07 11:27

세라

파이썬

import math
user_a = int(input())
user_b = int(input())
user_c = int(input())
panbyeol = (user_b ** 2) - 4 * user_a * user_c # 판별식
sqrt= math.sqrt(panbyeol) # 판별식 루트
if panbyeol < 0 :
    print("해가 존재 하지 않음")
else :
    result_plus = (-user_b + sqrt) / (2 * user_a) 
    result_minus = (-user_b - sqrt) / (2 * user_a)

print(result_plus, result_minus)

2022/11/07 15:38

ㅇㅇ

def QuadraticFormula(a, b, c):
    x1 = (-b + (b**2 - 4*a*c) ** 1/2) / 2*a
    x2 = (-b - (b**2 - 4*a*c) ** 1/2) / 2*a
    if b**2 - 4*a*c == 0 :
        return x1
    elif b**2 - 4*a*c < 0:
        return '해가 존재하지 않습니다.'
    else:
        return round(x1), round(x2)

print(QuadraticFormula(int(input()), int(input()), int(input())))

python

2023/01/20 14:59

마라떡볶이

a,b,c = map(int,input("Enter A B C:").split())
if b**2 - 4 * a * c >=0:
   print("X=",(int(round((-b+(b**2-4*a*c)**0.5)/(2*a)))))
   print("X=",(int(round((-b-(b**2-4*a*c)**0.5)/(2*a)))))
else:
   print("Imaginary")

2023/09/05 11:30

siu yoon

def quadratic(a,b,c):
    if (b ** 2 - 4 * a * c) >= 0 :
        x = ( - b - (b ** 2 - 4 * a * c) ** 1/2 ) / ( 2 * a )
        y = ( - b + (b ** 2 - 4 * a * c) ** 1/2 ) / ( 2 * a )
        if x == y :
            print(round(x,0))
        else : 
            print(round(x,0), round(y,0))

    else :
        print("해 없음")

2024/12/16 11:55

Orange

import cmath

a = int(input("a 숫자를 입력하시오: "))
b = int(input("b 숫자를 입력하시오: "))
c = int(input("c 숫자를 입력하시오: "))

if a == 0:
    if b == 0:
        if c == 0:
            print("해가 무한개입니다.")
        else:
            print("해가 없습니다.")
    else:
        x = -c / b
        print(round(x))
else:
    D = b*b - 4*a*c
    sqrtD = cmath.sqrt(D)

    x1 = (-b + sqrtD) / (2*a)
    x2 = (-b - sqrtD) / (2*a)

    def round_root(z):

        if abs(z.imag) < 1e-12:
            return round(z.real)

        return complex(round(z.real), round(z.imag))

    r1 = round_root(x1)
    r2 = round_root(x2)


    if r1 == r2:
        print(r1)
    else:
        print(r1, r2)

2026/01/04 22:00

k

import math
import re

data = input('Enter: ').replace(' ', '')

a = int(re.search(r'([+-]?\d+)(?=x\^2)', data).group())
b = int(re.search(r'([+-]?\d+)(?=x(?!\^))', data).group())
c = int(re.search(r'([+-]?\d+)$', data).group())

D = b**2 - 4*a*c

if D > 0:
    x1 = round((-b + math.sqrt(D)) / (2 * a))
    x2 = round((-b - math.sqrt(D)) / (2 * a))

    print(f'x1 = {x1}, x2 = {x2}')

elif D == 0:
    x = -b / (2 * a)

    print(f'x = {x}')

else:
    print('No real roots')

2026/05/15 00:09

우영재

목록으로