不懂spim 汇编
在直角三角形中,若以a、b表示两条直角边,c表示斜边,勾股定理可以表述为a2+b2=c2。
满足这个等式的正整数a、b、c叫做一组勾股数。
例如(3、4、5),(5、12、13),(6、8、10),(7、24、25)等一组一组的数,每一组都能满足a2+b2=c2,因此它们都是勾股数组(其中3、4、5是最简单的一组勾股数)。显然,若直角三角形的边长都为正整数,则这三个数便构成一组勾股数;反之,每一组勾股数都能确定一个边长是正整数的直角三角形。因此,掌握确定勾股数组的方法对研究直角三角形具有重要意义。
1.任取两个正整数m、n,使2mn是一个完全平方数,那么
c=2+9+6=17。
则8、15、17便是一组勾股数。
证明:
∴a、b、c构成一组勾股数
2.任取两个正整数m、n、(m>n),那么
a=m2-n2,b=2mn,c=m2+n2构成一组勾股数。
例如:当m=4,n=3时,
a=42-32=7,b=2×4×3=24,c=42+32=25
则7、24、25便是一组勾股数。
证明:
∵ a2+b2=(m2-n2)+(2mn)2
=m4-2m2n2+n4+4m2n2
=m4+2m2n2+4n2
=(m2+n2)2
=c2
∴a、b、c构成一组勾股数。
3.若勾股数组中的某一个数已经确定,可用如下的方法确定另外两个数。
首先观察已知数是奇数还是偶数。
(1)若是大于1的奇数,把它平方后拆成相邻的两个整数,那么奇数与这两个整数构成一组勾股数。
例如9是勾股数中的一个数,
那么9、40、41便是一组勾股数。
证明:设大于1的奇数为2n+1,那么把它平方后拆成相邻的两个整数为
(2)若是大于2的偶数,把它除以2后再平方,然后把这个平方数分别减1,加1所得到的两个整数和这个偶数构成一组勾股数。
例如8是勾股数组中的一个数。
那么8、15,17便是一组勾股数。
证明:设大于2的偶数2n,那么把这个偶数除以2后再平方,然后把这个平方数分别减1,加1所得的两个整数为n2-1和n2+1
∵(2n)2+(n2-1)2=4n2+n4-2n2+1
=n4+2n2+1
=(n2+1)2
∴2n、n2-1、n2+1构成一组勾股数。
现看的,可能不是太好,不过倒是能用-x-b
data
str0: asciiz "Primes in 1000:\n"
str1: asciiz ",\n"
text
globl __start
__start:
la $a0, str0
li $v0, 4
syscall
li $t0, 2
j __test0
__l0:
li $t1, 1
li $t2, 2
j __test1
__l1:
div $t0, $t2
mfhi $t4
bne $t4, $0, __br1
move $t1, $0
__br1:
addi $t2, 1
__test1:
bne $t2, $t0, __l1
beq $t1, $0, __br0
move $a0, $t0
li $v0, 1
syscall
la $a0, str1
li $v0, 4
syscall
__br0:
addi $t0, 1
__test0:
li $t4, 100
bne $t0, $t4, __l0
li $v0, 10
syscall
----
有个事忘说了,这个真机上可能跑不了,那个模拟器模拟delay slot我没弄明白。
以上就是关于spim 汇编达人 请进!!!全部的内容,包括:spim 汇编达人 请进!!!、MIPS汇编程序、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)