精华内容
下载资源
问答
  • 二位数 + 位数 = 四位数很明显, 这个位数9开头的, 又因为回文数, 那么这个位数"9a9", 其中a未知数.很明显, 这个四位数的1开头的, 又因为回文数, 那么这个四位数"1bb1", 其中b未知数.四位数减去...

    知乎视频​www.zhihu.com

    虽然这题目很简单, 穷举的运算量很小, 但是最好还是要动点脑筋, 这样才有乐趣.

    二位数 + 三位数 = 四位数

    很明显, 这个三位数是9开头的, 又因为是回文数, 那么这个三位数是"9a9", 其中a是未知数.

    很明显, 这个四位数的1开头的, 又因为是回文数, 那么这个四位数是"1bb1", 其中b是未知数.

    四位数减去三位数, 容易得到这个二位数的个位数是2, 又因为是回文数, 那么这个二位数就是22.

    二位数 + 三位数 = 22 + 9a9

    用小学竖式加法.

    2 2

    + 9 a 9

    = 9 (a+3) 1

    因为最后结果是一个四位数

    那么(a + 3)必须是大于等于10, 又因为a是小于10的数字.

    那么(a + 3)在10到12之间, 那么进位的数字是1.

    9 + 进位数字1, 得到10

    从而得到那个四位数是"1001",

    2 2

    + 9 a 9

    = 1 0 0 1

    从而得到a = 7.

    所以, 最后答案是:

    22 + 979 = 1001

    Python代码:

    print("22 + 979 = 1001")

    时间复杂度是O(1)

    本来是想逻辑推导一下, 缩小搜素范围的, 结果没想到:

    根本不需要编程, 直接逻辑推导就能得到答案, 并且答案是唯一的.

    展开全文
  • 都需要为下一循环做准备 写循环前回答四个问题 (1)初始状态由哪些变量描述,其初值什么? (2)循环的控制条件什么?(题目中给出的条件往往反的) (3)反复什么 (4)怎么过渡到下一  ...

    循环:就是重复发生的过程(循环一般有重复的前提条件)

    循环问题的共同点:

    1. 都有一个初始化状态
    2. 都有一个循环的判断条件
    3. 都有反复要做的事
    4. 都需要为下一次的循环做准备

    写循环前回答四个问题

    (1)初始状态由哪些变量描述,其初值是什么?

    (2)循环的控制条件是什么?(题目中给出的条件往往是反的)

    (3)反复做什么

    (4)怎么过渡到下一次

     while循环

    语法:while(表达式){

    循环体

    }

    表达式结果如果为true,那么就执行循环体,如果是false就结束循环

    /**
     * 打印1到100之间的数
     * 循环条件:1~100
     */
    int i = 1;
    //i<=100,只有循环条件是true的情况下执行循环体,循环条件一定是true或false
    while (i <=100){
        System.out.println(i);
        //计数器进行累加
        i++;
    }

     do…while循环

    语法:

    do{

    循环体

    }while(循环条件 )

    /**
     * 打印1到100之间的数
     * 循环条件:1~100
     */
    int i = 1;
    do{
    System.out.println(i);
     //计数器进行累加
       i++;
    
    }while(i <= 100);
       

    注意:do....while和while,前者是先执行循环体,后者是先判断再执行循环体

     for循环

    for循环括号中的内容可以理解为一个范围,

    比如for(int i=1;i<=100;i++)就可以理解为【1,100】

    语法:

    for(表达式1;表达式2;表达式3){

    循环体

    }

    表达式1:计数器的初始化,它只能初始化一次

    表达式2:循环条件的判断,循环多少次就执行多少次

    表达式3:计数器的累加,循环多少次就累加多少次,每次循环执行完毕再累加

    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1;i <= 100;i++) {
            if (i%2 == 0){
                sum += i;
            }
        }
        System.out.println("1~100的偶数和是:" + sum);
    }

    循环的嵌套

    //打印5行5列的⭐
    public static void main(String[] args) {
       for (int j = 0;j<5;j++){
           for (int i = 0;i <5;i++){
               System.out.print("⭐");
           }
           System.out.println();
       }
    }

     

    展开全文
  • 我们可以做一个有意思的案例深入了解循环语句的运用,假如我们要在控制台输出一个等腰三角形,该怎么做?首先如图 我们要考虑怎么把一个直角三角形变成一个等腰三角形? 我们在此可以借用一个倒过来的直角三角形...

    我们可以做一个有意思的案例深入了解循环语句的运用,假如我们要在控制台输出一个等腰三角形,该怎么做?首先如图
    这是一个直角三角形
    等腰三角形
    我们要考虑怎么把一个直角三角形变成一个等腰三角形?
    直角向等腰变换过程
    我们在此可以借用一个倒过来的直角三角形和我们直角三角形拼接一起,拼接之后把倒三角去点就是我们要求的等腰三角形,这是我们可以先去写&的函数,从&的图像可以看出循环五次,第一次输出五个,第二次输出4个…以此类推代码如下:
    倒三角代码
    运行结果
    解决完倒三角我们就要考虑我们的等腰三角函数了,话不多说上图
    原始三角
    接下来两个合并如图:合并

    下面把变量j去点我们的目的就达成了
    完成
    到此整个程序结束,重点理解for语句循环结构。接下来我们可以考虑一下延伸,倒过来的等腰三角形:
    原始三角
    变换倒三角
    思路是一样的自己想想吧,万水千山总是情,点个关注行不行~

    展开全文
  • 1、while循环 昨天讲了基本的运算符,以及逻辑判断,功能很简单,就是判断变量达到什么条件然后什么事情。都由选择性的,那么如果变量的条件都达不到需要的条件...或者输错三次以后呢?这两种情况就是结束while...

    287b19f7cfc05559e92f22ee3e2c5f9e.png

    1、while循环

    昨天讲了基本的运算符,以及逻辑判断,功能很简单,就是判断变量达到什么条件然后做什么事情。都是由选择性的,那么如果变量的条件都达不到需要的条件呢,怎么办?程序就不运行了吗?这就用到了今天的while循环。

    比如你去ATM机取钱,插卡后输入密码,输入错了系统会让你从新输入,这个过程就是while循环。那么如果输入成功了呢?或者输错三次以后呢?这两种情况就是结束while循环的过程的条件,由while循环就必定有条件能结束他。

    while 条件(只能是True或False),输入的账号密码然后跟银行存放的正确的账号密码比对(if判断),比对成功,进入下一环节,条件变为False(直接给条件赋值,或者使用break命令),结束当前循环。还一种结束循环方式continue命令,结束本次循环,返回while重新判定条件。所以continue同级别后方无需任何代码。

    while的嵌套,while可以嵌套while使用,结束循环方式使用break时需要对应使用,break会结束相对应的while循环,break使用时相对while缩进一格(4空格)。while也可搭配else使用,else只会在条件为False时或者continue结束循环时运行,如果while是被break结束的循环,则else不会运行。

    2、for循环

    前面讲到的while循环如果取多个值,则每个值都需要一个while循环代码块,这就造成了重复代码,for循环就是来解决这个问题的。for会逐个读取list列表或者dict字典中的元素。

    for 变量名 in list或者dict名:,print(变量名)(会逐个换行打印list内的值)。print(变量名,变量名[字典名])用于同时取出字典内key和value的值,逐个换行打印。

    d8eed7c89bce25ae5e892e3c46b6f62f.png
    幕布:可以一键生成思维导图的大纲笔记工具mubu.com
    251a33862390dd73edb5fbb30c9d4ce2.png
    展开全文
  • 本系列打算用篇文章来聊聊这个事情。这篇,用实际案例来证明假设。第二篇链接:温正湖:MySQL RC级别下并发...仍然采用前述的表dt和其中的9条记录。二级唯一索引场景我们尝试对id为6的记录2update,...
  • 条件语句:If(只进行一)If语句...if :选择(每个都会判断)elif:只能跟在if后面,可以多重选择,与if的区别False后直接跳过剩下的elif(不是每个都要判断,False后直接跳过,更快)else:不能单独使用...
  • 那我们怎么做呢? C语言中给我们引入了: while, for, do while 种语句, 可以实现循环。 一、while 1、基本语法结构 //while 语法结构 while(表达式) 循环语句; 比如我们实现: 在屏幕上打印1-...
  • inflater刚刚还是好的,但是它应该是做三次循环,现在却只有一次,这样在我最终布局上我只能得到一个view 相关部分代码下边这个 void populate(String strcline, String url){ lLfD = (LinearLayout)...
  • //循环标记,具体作用在第一次循环时方便处理标题 while(!feof(fp)) { if(n==0) { fgets(top,50,fp); //处理标题,并且文件指针移到第二行 } if(n==1) //申请空间 { (p->next)=(student *)malloc(sizeof...
  • (不敢说精通,哈哈~)希望对大家有帮助哈~一、Python入门、环境搭建、变量、数据类型二、Python运算符、条件结构、循环结构、Python函数四、综合练习,一个控制台的员工管理"""需求:员工管理系统功能:1....
  • 种公平洗牌算法

    2020-04-02 13:49:11
    斗地主相信大家都玩过 每次输了之后都要仔细认真的洗牌 确保自己下一局拿到的牌公平的 ...循环N……使劲打乱顺序 这样每个元素被选中的概率似乎一样 但是这个循环次数N要该怎么取值合理呢 当序列长度过...
  • 举例 循环第一个抓到了3系 然后 与TABLE B 中 名称、牌子、类型LIKE 查询是否在这个字段中 如果存在 B表 第一行CODE 字段变为 01 ,完成一次循环。 ![图片说明]...
  • 说到java把list转tree,网上有一大堆文章,但是我看过之后发现基本都只说了递归和两层嵌套循环两种方法,没人提到两遍历的方法,我今天就把种方法都实现以下,一下对比 问题 周二面试中,面试官提了一个问题,...
  • 提供种方案……,只要出来就是好样的,的只要能逮住耗子的就是好猫!方案一秒想做法,直接foreach循环搞定,简单粗暴!$ids = $this->getArticleIds();$redis = instanceRedis();foreach ($ids ...
  • 感触比较深的就是,以前看到某些页面上的功能觉得很神奇,现在看到功能模块,第一反应是想他是怎么实现的了。可能不会动手,但思路业务流程会在脑海里循环一遍。 转载于:...
  • 你上了公交车发现前排有两个空座位,而后排所有座位都已经坐满,你会怎么做?立马下车,并对自己说,后面没座了,我等下一辆?没这么笨的人,前面有座位,当然也可以坐的。 4.12.1队列顺序存储的不足 112 4.12.2...
  • 但存在的问题需要有个PWM输出,而且中心对齐。如果在同一个定时器中去按上面这个方法去,那么两个PWM占空比至少得相差6%,而实际上两者之间可相差任意值。另外如果用TIM2,TIM3,TIM4这四个定时器的中断...
  • 一二面都没怎么详细问我问我项目问题,但手撕代码比较多,加起来总共8道,这里根据回忆一个汇总,忽略问题的具体顺序 一、二面 基础知识: 1.TCP四挥手中time_wait作用什么?去掉这个过程会有哪些后果? 2.虚...
  • 上一课画了一个迷宫,然后...‘那你想想,我们的迷宫个’角色’,我们怎么知道有没有碰到某个角色呢?’ ‘啊,检测有没有碰到迷宫’ ‘没错!’ 我们要的就是当老鼠碰到迷宫的时候,往自己当前运动的反方向移动
  • VS调试技巧

    2017-05-05 10:36:03
    下面有从浅入深的6个问题,您可以尝试回答一下 一个如下的语句for (int i = 0;...你希望你的断点在被命中100次后,每命中三次中断一次,比如第103,第106,第109怎样?你有在调试一个服务程序,希望
  • VS2005调试技巧集合

    2015-01-09 11:00:21
    下面有从浅入深的6个问题,您可以尝试回答一下 一个如下的语句for (int i = 0;...你希望你的断点在被命中100次后,每命中三次中断一次,比如第103,第106,第109怎样?你有在调试一个服务程序,希望
  • 下面有从浅入深的6个问题,您可以尝试回答一下 一个如下的语句for (int i = 0;...你希望你的断点在被命中100次后,每命中三次中断一次,比如第103,第106,第109怎样?你有在调试一个服务程序,希望
  • VS 调试技巧

    千次阅读 2014-06-26 16:04:41
     下面有从浅入深的6个问题,您可以尝试回答一下 一个如下的语句for (int i = 0;...你希望你的断点在被命中100次后,每命中三次中断一次,比如第103,第106,第109怎样?你有在调试一个服务程
  • VS 调试技巧——断点设置

    千次阅读 2014-02-11 17:52:09
    下面有从浅入深的6个问题,您可以尝试回答一下 一个如下的语句for (int i = 0;...你希望你的断点在被命中100次后,每命中三次中断一次,比如第103,第106,第109怎样?你有在调试一个服务程序,希望
  • VS 调试技巧(一)

    千次阅读 2012-09-09 14:22:52
    下面有从浅入深的6个问题,您可以尝试回答一下 一个如下的语句for (int i = 0;...你希望你的断点在被命中100次后,每命中三次中断一次,比如第103,第106,第109怎样?你有在调试一个服务程序,希望
  • 下面有从浅入深的6个问题,您可以尝试回答一下 一个如下的语句for (int i = 0; i 在一个1000次的循环体内部设置断点,你... 你希望你的断点在被命中100次后,每命中三次中断一次,比如第103,第106,第109怎样? 你有

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 144
精华内容 57
关键字:

循环三次是怎么做