请问怎样证明√2(2的开方)不是有理数?用C++语言

时间:2022-10-08 10:19:19
请问怎样证明√2(2的开方)不是有理数?用C++语言

18 个解决方案

#1


那你首先要知道如何用数学方法证明~

#2


我只知道有理数的定义,呵呵,用数学方法还真忘记了

#3


设2的开方是sqrt2(我不会打符号)
那么sqrt2=m/n,其中m和n是整数,并且m和n互质(有理数的定义)
平方后,有m×m = 2 n×n
那么2|m,从而2|n,与m与n互质矛盾,所以sqrt2是无理数
代码因此太简单了,不用写就证毕了

#4


楼上的是牛人  ...   偶佩服

#5


从2|m*m,就能推出2|m吗?为什么?

#6


没想到学程序设计的人中还有对数学知识记得这么牢的人!!
牛!!!!

#7


数学真是太美丽了

#8


上面的证明方法在高中的时候应该讲过吧~~~
就是用三楼的证明方法~~~
用的是有理数的定义和反证法来实现~

#9


sqrt2=m/n,其中m和n是整数,并且m和n互质(有理数的定义)
平方后,有m×m = 2 n×n
由于2*n×n,所以m×m必为偶数.
但是由于m×m必为偶数,所以m必为偶数,否则m为奇数,m×m必为奇数--->m必为偶数,
设m = 2k(k为整数);所以m*m = 4k^2,所以n×n = 2k^2,同理,n×n为偶数,
同理,n 为偶数~~
由于m和n同为偶数,所以与m和n互质矛盾,所以√2(2的开方)不是有理数~~~

#10


若假定前提是2|m*m,那么m一定是偶数吗?,你需要证明的是sqrt(2)是否是有理数,此结论到此尚未证明,何以见得由2|m*m就一定能推出2|m呢?逻辑推理过程中有可能(当然实际情况是不可能的,但是证明过程是需要严谨的)存在一个有理数q,使得q满足m=q*sqrt(2)(由于m是有理数,q亦为有理数,那么sqrt(2)需要为有理数才行(基础数论知识),然而sqrt(2)我们此时并不知道其是否为有理数,所以可以假定成立),那么有2|m*m,m=q*sqrt(2),不可能推出2|q。是吧?

#11


楼上的说的是什么逻辑呀,你楼上的说的就不错!
至少你的逻辑说服不了我!

#12


若假定前提是2|m*m,那么m一定是偶数吗?,你需要证明的是sqrt(2)是否是有理数,此结论到此尚未证明,何以见得由2|m*m就一定能推出2|m呢?逻辑推理过程中有可能(当然实际情况是不可能的,但是证明过程是需要严谨的)存在一个有理数q,使得q满足m=q*sqrt(2)(由于m是有理数,q亦为有理数,那么sqrt(2)需要为有理数才行(基础数论知识),然而sqrt(2)我们此时并不知道其是否为有理数,所以可以假定成立),那么有2|m*m,m=q*sqrt(2),不可能推出2|q。是吧?



呵呵,Knuth是我的偶像,可是你有点对不起这个名字啦。
sqrt2 = m/n ,是做的一个假设,根据有理数的定义,m和n是互质的整数
2|m*m,如果m不能被2整除……,那m*m怎么会有2这个因子?

另外你的证明才是有错误的
q 满足 m= q*sqrt(2) ,那么q也等于sqrt(2)很容易说明你是错误的

#13


4楼的证明是正确的。认为他不正确的人可能钻了点牛角尖,要不就是数学知识有点忘记了吧,推荐看看数学书

#14


不过我还是不太清楚用C++怎么来证明,
牛人们能不能写一下用C++证明的过程啊

#15


何苦呢,汗

#16


程序证明???

太搞笑了吧~

#17


若假定前提是2|m*m,那么m一定是偶数吗?,你需要证明的是sqrt(2)是否是有理数,此结论到此尚未证明,何以见得由2|m*m就一定能推出2|m呢?逻辑推理过程中有可能(当然实际情况是不可能的,但是证明过程是需要严谨的)存在一个有理数q,使得q满足m=q*sqrt(2)(由于m是有理数,q亦为有理数,那么sqrt(2)需要为有理数才行(基础数论知识),然而sqrt(2)我们此时并不知道其是否为有理数,所以可以假定成立),那么有2|m*m,m=q*sqrt(2),不可能推出2|q。是吧?

还是一样的方法来证明:若2|m*m,则2|m

假设m是奇数,则令m=2k+1, 那么m*m=(2k+1)*(2k+1)=4k*k+4k+2+1=2(2k*k+2k+1)+1
而2(2k*k+2k+1)+1是奇数,这与2|m*m矛盾

所以若2|m*m,则2|m


#18


利用有理数和无理数的主要区别,可以证明√2是无理数。
  证明:假设√2不是无理数,而是有理数。
  既然√2是有理数,它必然可以写成两个整数之比的形式:
  √2=p/q
  又由于p和q没有公因数可以约去,所以可以认为p/q 为既约分数,即最简分数形式。
  把 √2=p/q 两边平方
  得 2=(p^2)/(q^2)
  即 2(q^2)=p^2
  由于2q^2是偶数,p 必定为偶数,设p=2m
  由 2(q^2)=4(m^2)
  得 q^2=2m^2
  同理q必然也为偶数,设q=2n
  既然p和q都是偶数,他们必定有公因数2,这与前面假设p/q是既约分数矛盾。这个矛盾是有假设√2是有理数引起的。因此√2是无理数。
  [color=#FF0000] 数学证明过程需要严谨!!

#1


那你首先要知道如何用数学方法证明~

#2


我只知道有理数的定义,呵呵,用数学方法还真忘记了

#3


设2的开方是sqrt2(我不会打符号)
那么sqrt2=m/n,其中m和n是整数,并且m和n互质(有理数的定义)
平方后,有m×m = 2 n×n
那么2|m,从而2|n,与m与n互质矛盾,所以sqrt2是无理数
代码因此太简单了,不用写就证毕了

#4


楼上的是牛人  ...   偶佩服

#5


从2|m*m,就能推出2|m吗?为什么?

#6


没想到学程序设计的人中还有对数学知识记得这么牢的人!!
牛!!!!

#7


数学真是太美丽了

#8


上面的证明方法在高中的时候应该讲过吧~~~
就是用三楼的证明方法~~~
用的是有理数的定义和反证法来实现~

#9


sqrt2=m/n,其中m和n是整数,并且m和n互质(有理数的定义)
平方后,有m×m = 2 n×n
由于2*n×n,所以m×m必为偶数.
但是由于m×m必为偶数,所以m必为偶数,否则m为奇数,m×m必为奇数--->m必为偶数,
设m = 2k(k为整数);所以m*m = 4k^2,所以n×n = 2k^2,同理,n×n为偶数,
同理,n 为偶数~~
由于m和n同为偶数,所以与m和n互质矛盾,所以√2(2的开方)不是有理数~~~

#10


若假定前提是2|m*m,那么m一定是偶数吗?,你需要证明的是sqrt(2)是否是有理数,此结论到此尚未证明,何以见得由2|m*m就一定能推出2|m呢?逻辑推理过程中有可能(当然实际情况是不可能的,但是证明过程是需要严谨的)存在一个有理数q,使得q满足m=q*sqrt(2)(由于m是有理数,q亦为有理数,那么sqrt(2)需要为有理数才行(基础数论知识),然而sqrt(2)我们此时并不知道其是否为有理数,所以可以假定成立),那么有2|m*m,m=q*sqrt(2),不可能推出2|q。是吧?

#11


楼上的说的是什么逻辑呀,你楼上的说的就不错!
至少你的逻辑说服不了我!

#12


若假定前提是2|m*m,那么m一定是偶数吗?,你需要证明的是sqrt(2)是否是有理数,此结论到此尚未证明,何以见得由2|m*m就一定能推出2|m呢?逻辑推理过程中有可能(当然实际情况是不可能的,但是证明过程是需要严谨的)存在一个有理数q,使得q满足m=q*sqrt(2)(由于m是有理数,q亦为有理数,那么sqrt(2)需要为有理数才行(基础数论知识),然而sqrt(2)我们此时并不知道其是否为有理数,所以可以假定成立),那么有2|m*m,m=q*sqrt(2),不可能推出2|q。是吧?



呵呵,Knuth是我的偶像,可是你有点对不起这个名字啦。
sqrt2 = m/n ,是做的一个假设,根据有理数的定义,m和n是互质的整数
2|m*m,如果m不能被2整除……,那m*m怎么会有2这个因子?

另外你的证明才是有错误的
q 满足 m= q*sqrt(2) ,那么q也等于sqrt(2)很容易说明你是错误的

#13


4楼的证明是正确的。认为他不正确的人可能钻了点牛角尖,要不就是数学知识有点忘记了吧,推荐看看数学书

#14


不过我还是不太清楚用C++怎么来证明,
牛人们能不能写一下用C++证明的过程啊

#15


何苦呢,汗

#16


程序证明???

太搞笑了吧~

#17


若假定前提是2|m*m,那么m一定是偶数吗?,你需要证明的是sqrt(2)是否是有理数,此结论到此尚未证明,何以见得由2|m*m就一定能推出2|m呢?逻辑推理过程中有可能(当然实际情况是不可能的,但是证明过程是需要严谨的)存在一个有理数q,使得q满足m=q*sqrt(2)(由于m是有理数,q亦为有理数,那么sqrt(2)需要为有理数才行(基础数论知识),然而sqrt(2)我们此时并不知道其是否为有理数,所以可以假定成立),那么有2|m*m,m=q*sqrt(2),不可能推出2|q。是吧?

还是一样的方法来证明:若2|m*m,则2|m

假设m是奇数,则令m=2k+1, 那么m*m=(2k+1)*(2k+1)=4k*k+4k+2+1=2(2k*k+2k+1)+1
而2(2k*k+2k+1)+1是奇数,这与2|m*m矛盾

所以若2|m*m,则2|m


#18


利用有理数和无理数的主要区别,可以证明√2是无理数。
  证明:假设√2不是无理数,而是有理数。
  既然√2是有理数,它必然可以写成两个整数之比的形式:
  √2=p/q
  又由于p和q没有公因数可以约去,所以可以认为p/q 为既约分数,即最简分数形式。
  把 √2=p/q 两边平方
  得 2=(p^2)/(q^2)
  即 2(q^2)=p^2
  由于2q^2是偶数,p 必定为偶数,设p=2m
  由 2(q^2)=4(m^2)
  得 q^2=2m^2
  同理q必然也为偶数,设q=2n
  既然p和q都是偶数,他们必定有公因数2,这与前面假设p/q是既约分数矛盾。这个矛盾是有假设√2是有理数引起的。因此√2是无理数。
  [color=#FF0000] 数学证明过程需要严谨!!