一道abc+cba=1333的问题

转载 2013年12月03日 21:05:17

前两天被华为的鄙视了一下,因为临时出了一道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,由此可以对程序做出如下优化:

  1. #include <stdio.h>
  2. int print(void);
  3. int main(){
  4. print();
  5. return 0;
  6. }
  7. int print(){
  8. int a, b, c;
  9. for(a=4; a<10; a++){
  10. c = 13 - a;
  11. b = 1;
  12. int tmp = 101*a+20*b+101*c;
  13. if(tmp == 1333){
  14. printf("a=%d,b=%d,c=%d\n", a, b, c);
  15. }
  16. }
  17. return 0;
  18. }


得到如下结果:

  1. ./test
  2. a=4,b=1,c=9
  3. a=5,b=1,c=8
  4. a=6,b=1,c=7
  5. a=7,b=1,c=6
  6. a=8,b=1,c=5
  7. a=9,b=1,c=4


有兴趣的同学可以使用三个for循环看下得到的结果是否一致

 

我觉得很有意思的一道题

举报

相关文章推荐

一个文件,内含一千万行字符串,每个字符串在1K以内,要求找出所有相反的串对,如abc和cba。

文件的大小上限是10G,不可能在内存操作了。考虑设计一种hash使得如果两个字符串维相反串能得出相同的hash值,然后用该hash将文件中的字符串散列到不同的文件中,再在各文件中进行匹配。比如这样的h...

字符串的排列。输入一字符串,打印出该字符串中字符的所有排列。例如输入abc,则排列为abc,acb,bac,bca,cab,cba

import java.util.HashMap; public class Permutation { private char[] ch; public Permutation(Stri...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

timus 1333. Genie Bomber 2 URAL 结题报告 多圆覆盖率问题

timus  1333. Genie Bomber 2 URAL 结题报告   多圆覆盖率问题 题目大意,求轰炸机轰炸率问题,因为轰炸机的炸弹轰炸面积是圆形,而测试地区的形状是正方形,给多个炸弹和轰...

一道Java线程面试题。3个线程顺序打印10次ABC.

一道Java线程面试题。3个线程顺序打印10次ABC. 2011-06-12 00:30 原文出处http://hi.baidu.com/dapplehou/blog/item/1...

经典String str = new String("abc")内存分配问题

问: String str = new String("abc");  String str = "abc";  有啥区别??? 解决: Java把内存划分成两种:一种是栈内存,一种...

VS2012中出现“无法启动程序...debug\abc.exe,系统找不到指定文件”的问题!

VS 2005在生成可执行文件时使用了一种新的技术,该技术生成的可执行文件会伴随生成一个清单文件(manifest file)(.manifest后缀文件)(其本质上是XML文档,你可以用文本编辑...

exp/imp碰到的两则问题处理(ORA-00904和the objects were exported by ABC not by you)

最近负责搭建某系统的用户环境,其中涉及从测试环境导入数据,由于受客观因素制约,不能使用传输表空间方法同步,因此需要用imp/exp或数据泵的方法,这里采用的是imp/exp。下面记录操作过程中碰到的问...
  • bisal
  • bisal
  • 2014-09-06 22:49
  • 6047

java多线程顺序执行并顺序输出ABC问题

1.有A、B、C、D四个线程,A线程输出A, B线程输出B, C线程输出C,D线程输出D,要求, 同时启动四个线程, 按顺序输出ABCD; 本题主要通过join方法来实现顺序输出ABCD。 代码如下:...

并发趣味问题之ABC

问题描述: 当前三个线程A,B,C,三个成一组,总共执行10次。第一次执行的时候按照ABC的顺序执行,以后每组按照A–>B–>C–>A的回环顺序执行即可(即若开始为B那么之后就是C,接着是A;若开始...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)