首页 > 其他 > 详细

高斯消元

时间:2018-10-04 19:45:17      阅读:188      评论:0      收藏:0      [点我收藏+]

存份模板(模板洛咕$P3389$)

技术分享图片
 1 #include <bits/stdc++.h>
 2 
 3 int n;
 4 
 5 double a[200][200], b[200];
 6 
 7 int main()
 8 {
 9     scanf("%d", &n);
10     for (int i = 1; i <= n; i++)
11     {
12         for (int j = 1; j <= n; j++)
13             std::cin >> a[i][j];
14         std::cin >> b[i];
15     } 
16     
17     for (int i = 1; i <= n; i++)
18     {
19         for (int j = i; j <= n; j++)
20         {
21             if (fabs(a[j][i]) > 1e-8)
22             {
23                 for (int k = 1; k <= n; k++)
24                     std::swap(a[i][k], a[j][k]);
25                 std::swap(b[i], b[j]);
26             }
27         }
28         if(fabs(a[i][i]) < 1e-8)
29         {
30             puts("No Solution");
31             return 0;
32         }
33         for (int j = 1; j <= n; j++)
34         {
35             if (i == j)
36                 continue;
37             double rate = a[j][i] / a[i][i];
38             for (int k = i; k <= n; k++)
39                 a[j][k] -= a[i][k] * rate;
40             b[j] -= b[i] * rate;
41         }
42     }
43     for (int i = 1; i <= n; i++)
44         printf("%.2f\n", b[i] / a[i][i]);
45     return 0;
46 }
View Code

 

高斯消元

原文:https://www.cnblogs.com/little-sun0331/p/9742895.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!