六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 45|回复: 0

互联网公司面试题之三

[复制链接]

升级  95.33%

154

主题

154

主题

154

主题

举人

Rank: 3Rank: 3

积分
486
 楼主| 发表于 2013-1-26 12:32:01 | 显示全部楼层 |阅读模式
问题: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;    }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表