一道abc+cba=1333的问题
来源:互联网 发布:水光面膜怎么样 知乎 编辑:程序博客网 时间:2024/06/05 17:59
前两天被华为的鄙视了一下,因为临时出了一道abc+cba=1333的问题,当时由于什么都没有准备,结果就给他一个3个for循环的结果,其实当时也觉得这个不合适,简答分析了一下,a和c肯定不能等于0,因为这样结果肯定达不到1333,后来又对这个问题做了简单的分析:
1333这个数字其实是比较特别的,什么情况下才有可能得出结尾是3的数字?
4+9=13,5+8=13,6+7=13,7+6=13,8+5=13,9+4=13
也就是说其实只有a和c的值相加等于13的情况下才可能等于1333,这样又可以得出下一个结论:
既然a+c=13,那么100*a+100*c等于多少,显然是1300,这样又可以得到如下:
abc+cba=100*a+100*c+a+c+20*b=1333,不难算出b的值肯定等于1,由此可以对程序做出如下优化:
#include <stdio.h> int print(void);int main(){ print(); return 0;}int print(){ int a, b, c; for(a=4; a<10; a++){ c = 13 - a; b = 1; int tmp = 101*a+20*b+101*c; if(tmp == 1333){ printf("a=%d,b=%d,c=%d\n", a, b, c); } } return 0;}
得到如下结果:
./test a=4,b=1,c=9a=5,b=1,c=8a=6,b=1,c=7a=7,b=1,c=6a=8,b=1,c=5a=9,b=1,c=4
有兴趣的同学可以使用三个for循环看下得到的结果是否一致
- 一道abc+cba=1333的问题
- 一道abc+cba=1333的问题
- abc+cba=1333,满足条件的abc有几个
- 1134 abc+cba=N的组合
- 蓝桥杯 c++ abc+cba=n
- 向量abc转换为cba(如何交换非邻接内存块的问题) 编程珠玑 第二章 问题 5
- 已知abc+cba = 1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。
- 5.已知abc+cba = 1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。
- 反转串 我们把“cba”称为“abc”的反转串。
- 怎么实现字符串的反转,如:输入abc,输出cba
- 递归字符串翻转"abc"->"cba"
- 已知abc+cba=1333,其中a,b,c均为一位数,例如:617+716=1333,,518+815=1333,试编程求出符合这一规律的a,b,c并输出结果。
- 前序为ABC,后序为CBA的二叉树共有多少棵
- 字符 A、B、C 的所有组合(ABC、ACB、BAC、BCA、CAB、CBA)
- 写一个方法,实现字符串的反转,如:输入abc,输出cba
- 给定一个文件每一行是字符串,找出所有的逆序对,比如abc和cba是逆序的对。
- 给定一个文件每一行是字符串,找出所有的逆序对,比如abc和cba是逆序的对。
- 写一个函数,输出字符串中字符的所有排序。(比如:abc acb bac bca cab cba )
- DDL&DML&TCL&DQL&DCL
- 判断ListView滚动到达底部的方法
- DBS&DB&DBMS&RDBMS
- css3的文本效果text-justify
- 数据库对象
- 一道abc+cba=1333的问题
- IP地址的分类
- 常见JAVA运行时异常有哪些?
- 对象引用与对象的区别
- 浅谈window.attachEvent
- 传统神经网络ANN简介
- Installing Backtrack5 tools + menu in Ubuntu 10.10
- Git Gui 查看分支历史的时候中文显示乱码
- IOS开发之关键字category详解