Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
ARTER616
0 / 0 / 3
Регистрация: 14.01.2017
Сообщений: 268
1

Реши кубическое уравнение ax^3+bx^2+cx+d=0 (a≠0)

28.06.2017, 18:25. Просмотров 689. Ответов 3
Метки нет (Все метки)

Дано кубическое уравнение ax^3+bx^2+cx+d=0 (a≠0). Известно, что у этого уравнения ровно один корень. Требуется его найти с точностью до 10^−4.
ВХОДНЫЕ ДАННЫЕ

Программа получает на вход четыре целых числа a, b, c, d, по модулю не превосходящие 1000, a≠0. Числа записаны в одной строке через пробел.
ВЫХОДНЫЕ ДАННЫЕ

Выведите единственный корень уравнения с точностью до 10^−4 (то есть ваш ответ должен отличаться от правильного не больше, чем на 10^−4.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2017, 18:25
Ответы с готовыми решениями:

Кубическое уравнение
Натолкните на мысль, с чего начать решение: 3х3-10х2+9х-2=0

Кубическое уравнение
Помогите решить вот эту задачу ОООчень надо Вася в школе изучил квадратные...

Кубическое уравнение
Вводятся целые числа a,b,c,d.Найти все целые корни уравнения ax3+bx2+cx+d=0...

Кубическое уравнение
Подскажите плиз решение z3+(2+21/2i)7/(i11(-6+2*31/2i)13)=0 мне нужно...

Кубическое уравнение
Нужно решить -2{x}^{3}+2{x}^{2}-1=0. Подумала по тригонометрической формуле...

3
Рыжий Лис
Просто Лис
1187 / 511 / 343
Регистрация: 17.05.2012
Сообщений: 2,066
Записей в блоге: 8
29.06.2017, 09:48 2
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
t = '1 2 1 1'
 
a, b, c, d = map(int, t.split())
 
def f(x):
    """ax^3+bx^2+cx+d=0"""
    return a*x**3 + b*x**2 + c*x + d
 
abs_max = 1000
step1 = 21
e = 0.0001
 
if f(-abs_max) < 0:
    for x in range(-abs_max, abs_max, step1):
        y = f(x)
        print('x=%d y=%d' % (x, y))
        if y > 0:
            break
else:
    for x in range(-abs_max, abs_max, step1):
        y = f(x)
        print('x=%d y=%d' % (x, y))
        if y < 0:
            break
print('x=%d' % x)
 
i = x - step1
while i < x:
    y = f(i)
    print('x=%f y=%f' % (i, y))
    if abs(y) < e:
        break
    i += e
 
print(i)
0
ARTER616
0 / 0 / 3
Регистрация: 14.01.2017
Сообщений: 268
29.06.2017, 20:09  [ТС] 3
Выдает какой-то дикий ответ:
x=-1000 y=-1003003001
[omitting some output]
x=-10.435100 y=-1495.270966
x=-10.435000 y=-1495.231738
x=-10.434900 y=-1495.192510
x=-10.434800 y=-1495.153284
x=-10.434700 y=-1495.114058
x=-10.434600 y=-1495.074832
x=-10.434500 y=-1495.035608
x=-10.434400 y=-1494.996384
x=-10.434300 y=-1494.957160
x=-10.434200 y=-1494.917938
x=-10.434100 y=-1494.878716
x=-10.434000 y=-1494.839495
x=-10.433900 y=-1494.800274
x=-10.433800 y=-1494.761054
x=-10.433700 y=-1494.721835
x=-10.433600 y=-1494.682616
x=-10.433500 y=-1494.643399
x=-10.433400 y=-1494.604181
x=-10.433300 y=-1494.564965
x=-10.433200 y=-1494.525749
x=-10.433100 y=-1494.486534
x=-10.433000 y=-1494.447320
x=-10.432900 y=-1494.408106
x=-10.432800 y=-1494.368893
x=-10.432700 y=-1494.329681
x=-10.432600 y=-1494.290469
x=-10.432500 y=-1494.251258
x=-10.432400 y=-1494.212048
x=-10.432300 y=-1494.172838
x=-10.432200 y=-1494.133629
x=-10.432100 y=-1494.094421
x=-10.432000 y=-1494.055214
x=-10.431900 y=-1494.016007
x=-10.431800 y=-1493.976801
x=-10.431700 y=-1493.937595
x=-10.431600 y=-1493.898390
x=-10.431500 y=-1493.859186
x=-10.431400 y=-1493.819983
x=-10.431300 y=-1493.780780
x=-10.431200 y=-1493.741578
x=-10.431100 y=-1493.702377
x=-10.431000 y=-1493.663176
x=-10.430900 y=-1493.623976
x=-10.430800 y=-1493.584777
x=-10.430700 y=-1493.545578
x=-10.430600 y=-1493.506380
x=-10.430500 y=-1493.467183
x=-10.430400 y=-1493.427986
x=-10.430300 y=-1493.388790
x=-10.430200 y=-1493.349595
x=-10.430100 y=-1493.310401
x=-10.430000 y=-1493.271207
x=-10.429900 y=-1493.232014
x=-10.429800 y=-1493.192821
x=-10.429700 y=-1493.153630
x=-10.429600 y=-1493.114439
x=-10.429500 y=-1493.075248
x=-10.429400 y=-1493.036059
x=-10.429300 y=-1492.996870
x=-10.429200 y=-1492.957681
x=-10.429100 y=-1492.918494
x=-10.429000 y=-1492.879307
x=-10.428900 y=-1492.840120
x=-10.428800 y=-1492.800935
x=-10.428700 y=-1492.761750
x=-10.428600 y=-1492.722566
x=-10.428500 y=-1492.683382
x=-10.428400 y=-1492.644199
x=-10.428300 y=-1492.605017
x=-10.428200 y=-1492.565836
x=-10.428100 y=-1492.526655
x=-10.428000 y=-1492.487475
x=-10.427900 y=-1492.448295
x=-10.427800 y=-1492.409117
x=-10.427700 y=-1492.369939
x=-10.427600 y=-1492.330761
x=-10.427500 y=-1492.291585
x=-10.427400 y=-1492.252409
x=-10.427300 y=-1492.213233
x=-10.427200 y=-1492.174059
x=-10.427100 y=-1492.134885
x=-10.427000 y=-1492.095711
x=-10.426900 y=-1492.056539
x=-10.426800 y=-1492.017367
x=-10.426700 y=-1491.978196
x=-10.426600 y=-1491.939025
x=-10.426500 y=-1491.899856
x=-10.426400 y=-1491.860686
x=-10.426300 y=-1491.821518
x=-10.426200 y=-1491.782350
x=-10.426100 y=-1491.743183
x=-10.426000 y=-1491.704017
x=-10.425900 y=-1491.664851
x=-10.425800 y=-1491.625686
x=-10.425700 y=-1491.586522
x=-10.425600 y=-1491.547358
x=-10.425500 y=-1491.508195
x=-10.425400 y=-1491.469033
x=-10.425300 y=-1491.429871
x=-10.425200 y=-1491.390710
x=-10.425100 y=-1491.351550
x=-10.425000 y=-1491.312391
x=-10.424900 y=-1491.273232
x=-10.424800 y=-1491.234074
x=-10.424700 y=-1491.194916
x=-10.424600 y=-1491.155759
x=-10.424500 y=-1491.116603
x=-10.424400 y=-1491.077448
x=-10.424300 y=-1491.038293
x=-10.424200 y=-1490.999139
x=-10.424100 y=-1490.959986
x=-10.424000 y=-1490.920833
x=-10.423900 y=-1490.881681
x=-10.423800 y=-1490.842530
x=-10.423700 y=-1490.803379
x=-10.423600 y=-1490.764229
x=-10.423500 y=-1490.725080
x=-10.423400 y=-1490.685931
x=-10.423300 y=-1490.646783
x=-10.423200 y=-1490.607636
x=-10.423100 y=-1490.568490
x=-10.423000 y=-1490.529344
x=-10.422900 y=-1490.490199
x=-10.422800 y=-1490.451054
x=-10.422700 y=-1490.411911
x=-10.422600 y=-1490.372768
x=-10.422500 y=-1490.333625
x=-10.422400 y=-1490.294483
x=-10.422300 y=-1490.255342
x=-10.422200 y=-1490.216202
x=-10.422100 y=-1490.177062
x=-10.422000 y=-1490.137923
x=-10.421900 y=-1490.098785
x=-10.421800 y=-1490.059648
x=-10.421700 y=-1490.020511
x=-10.421600 y=-1489.981374
x=-10.421500 y=-1489.942239
x=-10.421400 y=-1489.903104
x=-10.421300 y=-1489.863970
x=-10.421200 y=-1489.824836
x=-10.421100 y=-1489.785704
x=-10.421000 y=-1489.746571
x=-10.420900 y=-1489.707440
x=-10.420800 y=-1489.668309
x=-10.420700 y=-1489.629179
x=-10.420600 y=-1489.590050
x=-10.420500 y=-1489.550921
x=-10.420400 y=-1489.511793
x=-10.420300 y=-1489.472666
x=-10.420200 y=-1489.433539
x=-10.420100 y=-1489.394413
x=-10.420000 y=-1489.355288
x=-10.419900 y=-1489.316163
x=-10.419800 y=-1489.277040
x=-10.419700 y=-1489.237916
x=-10.419600 y=-1489.198794
x=-10.419500 y=-1489.159672
x=-10.419400 y=-1489.120551
x=-10.419300 y=-1489.081430
x=-10.419200 y=-1489.042311
x=-10.419100 y=-1489.003191
x=-10.419000 y=-1488.964073
x=-10.418900 y=-1488.924955
x=-10.418800 y=-1488.885838
x=-10.418700 y=-1488.846722
x=-10.418600 y=-1488.807606
x=-10.418500 y=-1488.768491
x=-10.418400 y=-1488.729377
x=-10.418300 y=-1488.690263
x=-10.418200 y=-1488.651150
x=-10.418100 y=-1488.612038
x=-10.418000 y=-1488.572927
x=-10.417900 y=-1488.533816
x=-10.417800 y=-1488.494706
x=-10.417700 y=-1488.455596
x=-10.417600 y=-1488.416487
x=-10.417500 y=-1488.377379
x=-10.417400 y=-1488.338272
x=-10.417300 y=-1488.299165
x=-10.417200 y=-1488.260059
x=-10.417100 y=-1488.220953
x=-10.417000 y=-1488.181849
x=-10.416900 y=-1488.142745
x=-10.416800 y=-1488.103641
x=-10.416700 y=-1488.064539
x=-10.416600 y=-1488.025437
x=-10.416500 y=-1487.986335
x=-10.416400 y=-1487.947235
x=-10.416300 y=-1487.908135
x=-10.416200 y=-1487.869036
x=-10.416100 y=-1487.829937
x=-10.416000 y=-1487.790839
x=-10.415900 y=-1487.751742
x=-10.415800 y=-1487.712646
x=-10.415700 y=-1487.673550
x=-10.415600 y=-1487.634455
x=-10.415500 y=-1487.595360
x=-10.415400 y=-1487.556267
x=-10.415300 y=-1487.517173
x=-10.415200 y=-1487.478081
x=-10.415100 y=-1487.438989
x=-10.415000 y=-1487.399898
x=-10.414900 y=-1487.360808
x=-10.414800 y=-1487.321718
x=-10.414700 y=-1487.282629
x=-10.414600 y=-1487.243541
x=-10.414500 y=-1487.204454
x=-10.414400 y=-1487.165367
x=-10.414300 y=-1487.126280
x=-10.414200 y=-1487.087195
x=-10.414100 y=-1487.048110
x=-10.414000 y=-1487.009026
x=-10.413900 y=-1486.969942
x=-10.413800 y=-1486.930860
x=-10.413700 y=-1486.891778
x=-10.413600 y=-1486.852696
x=-10.413500 y=-1486.813615
x=-10.413400 y=-1486.774535
x=-10.413300 y=-1486.735456
x=-10.413200 y=-1486.696377
x=-10.413100 y=-1486.657299
x=-10.413000 y=-1486.618222
x=-10.412900 y=-1486.579145
x=-10.412800 y=-1486.540069
x=-10.412700 y=-1486.500994
x=-10.412600 y=-1486.461920
x=-10.412500 y=-1486.422846
x=-10.412400 y=-1486.383773
x=-10.412300 y=-1486.344700
x=-10.412200 y=-1486.305628
x=-10.412100 y=-1486.266557
x=-10.412000 y=-1486.227487
x=-10.411900 y=-1486.188417
x=-10.411800 y=-1486.149348
x=-10.411700 y=-1486.110279
x=-10.411600 y=-1486.071212
x=-10.411500 y=-1486.032144
x=-10.411400 y=-1485.993078
x=-10.411300 y=-1485.954012
x=-10.411200 y=-1485.914947
x=-10.411100 y=-1485.875883
x=-10.411000 y=-1485.836820
x=-10.410900 y=-1485.797757
x=-10.410800 y=-1485.758694
x=-10.410700 y=-1485.719633
x=-10.410600 y=-1485.680572
x=-10.410500 y=-1485.641512
x=-10.410400 y=-1485.602452
x=-10.410300 y=-1485.563393
x=-10.410200 y=-1485.524335
x=-10.410100 y=-1485.485278
x=-10.410000 y=-1485.446221
x=-10.409900 y=-1485.407165
x=-10.409800 y=-1485.368110
x=-10.409700 y=-1485.329055
x=-10.409600 y=-1485.290001
x=-10.409500 y=-1485.250947
x=-10.409400 y=-1485.211895
x=-10.409300 y=-1485.172843
x=-10.409200 y=-1485.133791
x=-10.409100 y=-1485.094741
x=-10.409000 y=-1485.055691
x=-10.408900 y=-1485.016642
x=-10.408800 y=-1484.977593
x=-10.408700 y=-1484.938545
x=-10.408600 y=-1484.899498
x=-10.408500 y=-1484.860452
x=-10.408400 y=-1484.821406
x=-10.408300 y=-1484.782361
x=-10.408200 y=-1484.743316
x=-10.408100 y=-1484.704272
x=-10.408000 y=-1484.665229
x=-10.407900 y=-1484.626187
x=-10.407800 y=-1484.587145
x=-10.407700 y=-1484.548104
x=-10.407600 y=-1484.509064
x=-10.407500 y=-1484.470024
x=-10.407400 y=-1484.430985
x=-10.407300 y=-1484.391947
x=-10.407200 y=-1484.352909
x=-10.407100 y=-1484.313872
x=-10.407000 y=-1484.274836
x=-10.406900 y=-1484.235801
x=-10.406800 y=-1484.196766
x=-10.406700 y=-1484.157732
x=-10.406600 y=-1484.118698
x=-10.406500 y=-1484.079665
x=-10.406400 y=-1484.040633
x=-10.406300 y=-1484.001602
x=-10.406200 y=-1483.962571
x=-10.406100 y=-1483.923541
x=-10.406000 y=-1483.884511
x=-10.405900 y=-1483.845483
x=-10.405800 y=-1483.806455
x=-10.405700 y=-1483.767427
x=-10.405600 y=-1483.728401
x=-10.405500 y=-1483.689375
x=-10.405400 y=-1483.650349
x=-10.405300 y=-1483.611325
x=-10.405200 y=-1483.572301
x=-10.405100 y=-1483.533278
x=-10.405000 y=-1483.494255
x=-10.404900 y=-1483.455233
x=-10.404800 y=-1483.416212
x=-10.404700 y=-1483.377192
x=-10.404600 y=-1483.338172
x=-10.404500 y=-1483.299153
x=-10.404400 y=-1483.260134
x=-10.404300 y=-1483.221116
x=-10.404200 y=-1483.182099
x=-10.404100 y=-1483.143083
x=-10.404000 y=-1483.104067
x=-10.403900 y=-1483.065052
x=-10.403800 y=-1483.026038
x=-10.403700 y=-1482.987024
x=-10.403600 y=-1482.948011
x=-10.403500 y=-1482.908999
x=-10.403400 y=-1482.869987
x=-10.403300 y=-1482.830976
x=-10.403200 y=-1482.791966
x=-10.403100 y=-1482.752957
x=-10.403000 y=-1482.713948
x=-10.402900 y=-1482.674940
x=-10.402800 y=-1482.635932
x=-10.402700 y=-1482.596925
x=-10.402600 y=-1482.557919
x=-10.402500 y=-1482.518914
x=-10.402400 y=-1482.479909
x=-10.402300 y=-1482.440905
x=-10.402200 y=-1482.401902
x=-10.402100 y=-1482.362899
x=-10.402000 y=-1482.323897
и еще несколько сотен строк
0
Рыжий Лис
Просто Лис
1187 / 511 / 343
Регистрация: 17.05.2012
Сообщений: 2,066
Записей в блоге: 8
30.06.2017, 07:42 4
На каких числах a, b, c, d тестировалось?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2017, 07:42

кубическое уравнение
Помогите пожалуйста решить уравнение 3x^3 - 6x^2 + 3x = 0.271

Кубическое уравнение
2x^3 - x^2 - 10x + 1 = 0 Помогите, пожалуйста, понять как решать оО Безу и...

Кубическое уравнение
9x/(8x2-50) -1/x=5/(5x-2x2) У меня выходит кубическое уравнение:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru