首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

互联网络公司面试题之三

2012-12-24 
互联网公司面试题之三问题:12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问它

互联网公司面试题之三
问题:12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问它们两个数反转的和是否等于两个数的和的反转,请编程实现。要求程序的效率尽可能高、代码尽量短以及内存使用量尽量小。

Input->第一行是一个正整数表示测试的个数n;只有n行,每行两个数据a和b(0<a,b<10000)。
Output->如果满足题目的要求输出a+b的值,否则输出NO。


答:实现代码如下:

#include <stdio.h>#include <stdlib.h>int r(int s){    int t=s,sum=0;    while(t) {sum=10*sum+t%10;t/=10;}    return sum;}int main(){    unsigned char n,i;    int a,b;       while(scanf("%d",&n)!=EOF){         for(i=0;i<n;++i)          { scanf("%d %d",&a,&b);           if(r(a)+r(b)!=r(a+b)) printf("NO\n");           else printf("%d\n",a+b);         }                            }    return 0;    }
1 楼 软件开发学习者lilonghui 2012-01-02   或许有个更简单的判断方法: 只要两个数的对应位相加不进位就能满足

热点排行