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 ]
 
   解题思路,就不再解释了,这个是个三元方程式。。。。。。
本文转自你是路人甲还是霍元甲博客51CTO博客,原文链接http://blog.51cto.com/world77/1125775如需转载请自行联系原作者

world77
相关文章
|
2月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
78 3
|
2月前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
38 4
|
3月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
385 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
21天前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
4天前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
13天前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
24天前
|
存储 索引 Python
Python学习的自我理解和想法(6)
这是我在B站千锋教育学习Python的第6天笔记,主要学习了字典的使用方法,包括字典的基本概念、访问、修改、添加、删除元素,以及获取字典信息、遍历字典和合并字典等内容。开学后时间有限,内容较为简略,敬请谅解。
|
28天前
|
存储 程序员 Python
Python学习的自我理解和想法(2)
今日学习Python第二天,重点掌握字符串操作。内容涵盖字符串介绍、切片、长度统计、子串计数、大小写转换及查找位置等。通过B站黑马程序员课程跟随老师实践,非原创代码,旨在巩固基础知识与技能。
|
27天前
|
程序员 Python
Python学习的自我理解和想法(3)
这是学习Python第三天的内容总结,主要围绕字符串操作展开,包括字符串的提取、分割、合并、替换、判断、编码及格式化输出等,通过B站黑马程序员课程跟随老师实践,非原创代码。
|
24天前
|
Python
Python学习的自我理解和想法(7)
学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第七天,学的内容是集合。开学了,时间不多,写得不多,见谅。