博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVALive 6449 IQ Test --高斯消元?
阅读量:5046 次
发布时间:2019-06-12

本文共 867 字,大约阅读时间需要 2 分钟。

题意:给你一串数字,问这串数字符合f[n] = a*f[n-1],f[n] = a*f[n-1]+b*f[n-2],f[n] = a*f[n-1]+b*f[n-2]+c*f[n-3]这几个方程中的哪个,然后要你给出第n+1项,如果符合多个方程,项数小的优先(第一个方程优先)。

解法:这题我先处理看是否满足f[n] = a*f[n-1]的形式,如果不满足,则用高斯消元借出两项和三项的情况的a,b,c,比如第二个方程,f[3] = a*f[2]+b*f[1],f[4] = a*f[3]+b*f[2],两个方程两个未知量,用高斯消元解出a,b,这里可能不是整数,我将他们加了个0.5取下整,居然对了。后来看那场比赛没一个人是用的高斯消元,所以不知道这样是否正确,有看出来端倪的欢迎评论告诉我。

代码:

 

#include 
#include
#include
#include
#include
using namespace std;#define N 4int f[14];typedef double Matrix[N][N];int x,y,z;void gauss_elimination(Matrix A,int n){ int i,j,k,r; for(i=0;i
fabs(A[r][i])) r = j; if(r != i) { for(j=0;j<=n;j++) swap(A[r][j],A[i][j]); } //与第i+1~n行进行消元 for(k=i+1;k
=0;i--) { for(j=i+1;j
View Code

 

转载于:https://www.cnblogs.com/whatbeg/p/3896083.html

你可能感兴趣的文章
log4j配置
查看>>
linux 配置SAN存储-IPSAN
查看>>
双链表
查看>>
java学习笔记之String类
查看>>
pymysql操作mysql
查看>>
Linux服务器删除乱码文件/文件夹的方法
查看>>
牛腩记账本core版本源码
查看>>
Word Break II
查看>>
UVA 11082 Matrix Decompressing 矩阵解压(最大流,经典)
查看>>
无线通讯
查看>>
Mongodb Manual阅读笔记:CH9 Sharding
查看>>
AX2009使用NPOI导出EXCEL2007
查看>>
如何删除NSDictionary或NSArray中的NSNull
查看>>
ueditor 结合easyui使用
查看>>
thymeleaf学习笔记
查看>>
进程(第一部分)
查看>>
springMVC总结
查看>>
Linux 命令速记本
查看>>
python中import xx 的含义
查看>>
关于JS的Date对象的探究
查看>>