问题描述
给定一个N阶矩阵A,输出A的M次幂(M是非负整数)
例如:
A =
1 2
3 4
A的2次幂
7 10
15 22
输入格式
第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数
接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值
输出格式
输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格隔开
样例输入
2 2
1 2
3 4
样例输出
7 10
15 22
第一想法是采用numpy的dot函数实现,带入测试数据,结果正确但是就是不通过,猜测是不能导入外部包。下面是第一次的代码及结果展示
import numpy as np
N,M=map(int,input().split())
a=[list(map(int,input().split())) for i in range(N)]
if M!=0:
b = a
for i in range(M - 1):
b = np.dot(b, a)
for i in range(N):
for j in range(N):
print(b[i][j], end=" ")
print()
elif M==0:
b=[1]*N
c=np.diag(b)
for i in range(N):
for j in range(N):
print(c[i][j], end=" ")
print()
所以只能用笨办法尝试一下
N,M=map(int,input().split())
p = [list(map(int, input().split())) for i in range(N)]
if M==0:
b=[0]*(N*N)
q = []
for i in range(N):
for j in range(N):
if j == 0:
q.append([])
q[i].append(b[i * N + j])
for i in range(N):
for j in range(N):
if i==j:
q[i][j]=1
for i in range(N):
for j in range(N):
print(q[i][j], end=" ")
print()
else:
q = p
for i in range(M - 1):
h = []
a = q
u = p
for i in range(N):
c = u[i][:]
for m in range(N):
b = []
for j in range(N):
b.append(a[j][m])
d = 0
for n in range(N):
d += b[n] * c[n]
h.append(d)
q = []
for i in range(N):
for j in range(N):
if j == 0:
q.append([])
q[i].append(h[i * N + j])
for i in range(N):
for j in range(N):
print(q[i][j], end=" ")
print()
成功!!!!!
这篇文章带你了解怎么整合RabbitMQ服务器,并且通过它怎么去发送和接收消息。我将构建一个springboot工程,通过RabbitTemplate去通过MessageListenerAdapter去订阅一个POJO类型的消息。准备工作15minIDEAmaven 3.0在开始构建项目之前,机器需要安装rabbitmq,你可...
前言又是一年乍暖还寒,春天的风迎面而来,凉意中夹杂着些许温暖。哦,你知道,是春天来了。就像那年的实习期,在挥手告别的毕业季,定格在了那年的七月。人会怀念,怀念青涩时期的自己,懵懵懂懂却又充满着努力。人会想念,想念每天朝夕相处的人,有一天会在转角挥手告别。人会改变,改变了不善言辞的自己,终游荡于人情世故之中。毕业近三年,从业大数据已近四年,顺着大数据的浪潮,在一个不大不小的城市有了立足之地。每逢佳节,亲朋好友谈及工作,皆以开发手机APP答之,避免出现半天解释不清的情况。后来在很多地方也遇到询问大数据的问
硬件环境笔记本:Lenovo Y470内存:4GWindows 环境操作系统:Windows 10开发环境:VS2005(需启动.NET Framework 3.5 ,才能正常安装使用) Linux 环境发行版:CentOS 7_x64安装方式:Win10 自带 Hyper-v虚拟机安装优点: 个人电脑主用Windows,linux安装在虚拟机中以命令行方式启动用作后台服务器,内存
MySQL数据库的基本使用之排序查询语法,为了方便查看数据可以对数据进行排序。学习排序我们需要掌握升序查询和降序查询的关键字。学习目标:能够知道升序查询和降序查询的关键字排序查询语法排序查询语法:语法说明:(1)先按照列1进行排序,如果列1的值相同时,则按照 列2 排序,以此类推(2)asc从小到大排列,即升序(3)desc从大到小排序,即降序(4)默认按照列值从小到大排列(即asc关键字)例1:查询未删除男生信息,按学号降序:例2:显示所有的学生信息,先按照年龄从大–>
1.配置文件内容test: token: eykhisyfsdfhjkdsfiowefjj uid: 110 user_name: admin password: 1234562.使用@Value注解@Value("${变量}")@Value("${test.user_name}") private String userName;@Value("#{表达式}"),可以使用spel表达式@Value("#{12*2}")private Integer sum
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>抖音风格字体</title> <style> body { background-color: gray;...
场景描述添加自定义的弹出框后,当滚动鼠标时下边的页面也会跟着滚动。解决方案为了在遮罩出现的时候禁止用户滑动页面,如下处理:给这个遮罩层 绑定事件: 使用 catchtouchmove(1)在弹出层上添加 catchtouchmove=’true’<!--弹出框 --><view class="sh_Model_box" catchtouchmove='true'>...</view>(2)也可以绑定有一个空事件 <view cat
centos7环境下使用python脚本监控mongodb集群复制状态centos环境下搭建了 MongoDB 副本集,需要对集群的复制状态进行监控获取集群的状态信息,集群是3个节点,没有设置仲裁者[[email protected]:/usr/local]# mongo --port 21000MongoDB shell version v3.4.24c...
http://www.cnblogs.com/eyeszjwang/articles/2418354.html#include "stdafx.h"#include &lt;cv.h&gt;#include &lt;highgui.h&gt;#include &lt;math.h&gt;#include &lt;stdlib.h&gt;#include &lt;stdio.h...
前言:数据库的种类很多,Oracle、Sql Server、mySQL、Access等他们个自有自己的特点和应用范围,之前用的比较多的是SqlServer,接触过通过navicat接触过mysql的可视化界面,但是没有安装过mysql,也没有在dos下操作过相应的命令。这次通过实践亲自体验了一下。简介:由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低...
Spring Cloud GateWay是Spring Cloud的⼀个全新项⽬,⽬标是取代Netflix Zuul,它基于Spring5.0+SpringBoot2.0+WebFlux(基于⾼性能的Reactor模式响应式通信框架Netty,异步⾮阻塞模型)等技术开发,性能⾼于Zuul,官⽅测试,GateWay是Zuul的1.6倍,旨在为微服务架构提供⼀种简单有效的统⼀的API路由管理⽅式。
系统调用是指操作系统提供给用户的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的的服务。 程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态),它们分别运行在不同的级别上,在逻辑上是相互隔离的。因此,用户进程在通常情况下不允许访问内核数据,也无法使用内核函数,它们只能在用户空间操作用户数据,调用用户空间的函数。系统调用并不是直接与程序员进行交