python学习解三元方程式

 
      下午群友们上了一个题,下面贴上来图:
    只不过了一会,各路大神的答案开始喷涌出来,下面贴下各种答案:
 1:for i in {111..999..111}
 2:do
 3:  
 4:for j in {1..9..1}
 5:do
 6: c=`expr $i / $j`
 7:  
 8: pd=`echo  $i $j $c`
 9: sz=`echo $pd | awk '{print $0 ,substr($3,1,1)} '`
 10: v_1=`echo $sz | awk '{print $2}'`
 11: v_2=`echo  $sz | awk '{print $4}'` 
 12:  
 13: v_length=`echo $c | awk '{print length($1)}'`
 14:if [ $v_length -eq 2 ];then
 15:if [ $v_1 -eq $v_2 ];then
 16: echo  $i $j $c
 17: fi
 18: #echo $v_1 $v_2
 19: fi
 20: done
上面是shell的第一个版本
下面再来一个shell的版本:
 1: #!/bin/bash
 2:for ((i=1;i<=9;i++));do
 3:for ((y=0;y<=9;y++));do
 4: a=$i$y
 5: b=$i
 6: c=$(($a*$b))
 7:  
 8: len=`expr length $c`
 9:if [  $len = "3" -a `echo $c | cut -b 1` = `echo $c | cut -b 2` ];then
 10:if [ `echo $c | cut -b 2` = `echo $c | cut -b 3` ];then
 11: echo  $a*$b=$c
 12:  
 13: fi
 14: fi
 15:  
 16: done
 17: done
 
再来一个perl的版本:
 1:while(1){
 2: my $x = 1+int rand(9);
 3: my $y = 1+int rand(9);
 4: my $n = 1+int rand(9);
 5: my $m = $x.$y;
 6: my $z =$n.$n.$n;
 7: print "$x,$y,$z","\n" and last  if($m*$x==$z);
 8: }
 
居然还有人用php写了个答案:
 1: <?php
 4: set_time_limit(0); 
 5: $a=array(1,2,3,4,5,6,7,8,9);
 6: $num=array();
 7:for($i=0;$i<1000000;$i++){
 8: shuffle($a);
 9: $x=$a[0].$a[1];
 10: $y=$a[0];
 11: $z=$a[3].$a[3].$a[3];
 12://echo $x.'|'.$y.'|'.$z;
 13:if(($x*$y)==$z){
 14: $num[]=$x.'*'.$y.'='.$z;
 15: }
 16:  
 17: }
 18: $new=array_unique($num);
 19: print_r($new);
 20: ?>
最后隆重献上python的解题方法,哈哈:
 1: #!/usr/bin/env python
 2:for x in range(1,10):
 3:for y in range(1,10):
 4:for z in range(1,10):
 5:if (x*10+y)*x == z*100+z*10+z :
 6: print "x is :", x
 7: print "y is :" ,y
 8: print "z is :", z
 
嘿嘿,后来想起推导列表,于是写了个单行命令,可惜,对于推导列表不熟悉,求助于高手之后,才写了个华而不实的python单行命令来解决这个题目:
 1: print [(x,y,z) for x in range(1,10) for y in range(1,10) for z in range(1,10) if (x*10+y)*x == z*100+z*10+z ]
 
   解题思路,就不再解释了,这个是个三元方程式。。。。。。
更多相关文章
  • 学院官方整理Python学习路线图-适合自学者从入门到项目开发(视频+文档)干货提炼
    亲爱的学员们:您好!51CTO学院为梦想增值,诚邀您的关注!51CTO学院致力于让专家分享技术并让技术变现,让广大技术爱好者便捷.实惠的获取优质学习资源.为了方便大家的学习,我们特别整理了Python学习路线图-适合自学者从入门到项目开发(视频+文档) 干货提炼,点击查看更多>>Pyth ...
  • 注:本博文是在搜集他人资料的基础上,进行了内容整合,并非完全原创,主要是方便自己日常学习 Python 编程使用,望多多谅解,持续整理中......============================================================================ ...
  • Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl.Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用.它经常被当作脚本语言用于 ...
  • Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl.Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用.它经常被当作脚本语言用于 ...
  • 一个不错的Python学习网址http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397616003925a3d157284cd24bc0952d6c4a7c9d8c55000
  • (以下基本摘自<王纯业的python学习笔记>,所有命令均测试通过)    模块(module)是Python中非常重要的一个概念,模块其实就一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中,我们就可以使用了.这类似于C语言 ...
  •     python学习中,肯定会出现各类问题,大家都会百度,这个过程中发现,百度中很多答案的解决方法要么不全,要么给的链接失效.....    所以有问题一定要先想到:    http://stackoverflow.com,    绝对权威,绝对好用,要知道一些老外闲的没事,就喜欢给菜鸟解决问题 ...
  • 0.写在前面的话学习一门语言最重要的功课是练习与复习,在<笨方法学Python>中第三十七节虽然没有教你任何内容,但是它提醒我们:"学了这么多,你还能记得多少?该复习了!"下面我们就对这一节的第一部分"关键字"来做个复习:Python中的关键字包括 ...
一周排行
  •         1.计算机没有大脑.所以,当ISA的行为和你的要求不一致时,请检查你的配置而不要埋怨ISA. 2.只允许你想要允许的客户.源地址.目的地和协议.仔细的检查你的每一条规则,看规则的元素是否和你所需要的一 ...
  •     安装最新的Eclipse 3.7的时候,可能会出现无法显示滚动条的问题.需要编辑/usr/bin/eclipse,在'GDK_NATIVE_WINDOWS=true'下面加入:    export UBUNT ...
  • 1.grep:Global RE PrintingRegular Expression文本过滤工具,能够实现根据指定的模式(pattern)逐行搜索文件内容,并将匹配到的行显示出来:模式:是由正则表达式的元字符,其他 ...
  • 这可能是个难以启齿的话题.许多家长都会这样做,但并不是每个人都愿意承认,因为他们担心别人不理解自己的做法.在一些国家,这种行为甚至是违法的.我说的是打屁股.每个家庭打屁股的具体方式也很不一样.伊丽莎白·格肖夫(Eli ...
  • 一.一键安装PPTPD VPN 本教程适用于Openv VPS.Xen VPS或者KVM VPS. 1.首先运行如下命令: cat /dev/net/tun 返回的必须是: cat: /dev/net/tun: Fi ...
  • 给www建立一个软连接 # pwd  /usr/local/tomcat6.0/webapps # ln -s www test # cat   www/META-INF/context.xml <?xmlve ...
  • 在网络做大型数据交换中,尤其是对于局域网络来说,DHCP的压力是很大的,很多企业对于这方面的设备的管理总会投入大量的人力和财力,以便能保证网络的正常运转.其实,我们可以通过负载均衡功能来化解这方面的问题,那么我们就来 ...
  • 主体用XP默认主体,修改DPI为120后,MacType工作正常,但当再次将DPI修改为90(默认)后,MacType出现Invalid Image Size错误,卸载.重新安装后还是不能解决.后来经细心研究发现是由 ...
  • centos6.3+tftp+dhcp+httpd系统环境:centos6.3*64 setenforce 0  关闭 selinuxservice iptables stop  关闭iptables1  挂载镜像m ...
  • 新建一个android application工程添加控件:    点击res中layout中的activity.xml.    切换到GraphicLayout,拖动一个控件或者直接在.xml中添加代码    点击 ...