首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > 一道华为笔试题
【标  题】:一道华为笔试题
【关键字】:
【来  源】:http://blog.csdn.net/ningboweimin/archive/2006/11/08/1374388.aspx

一道华为笔试题

 题目:请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。用c语言编写(不能用数字转换成字符串)。

#include<stdio.h>
#include<math.h>
//函数havesamenum确认num是否满足条件
int havesamenum(int num)
{
 int i=0,j;
 char a[10] = {0};
 
 while(num>0)
 {
  j=num%10;
  a[j]+=1;
  num=num/10;
 }
 while(a[i]<=1&&i<10)
  i++;
 if (i<10)
  return 1;
 else
  return 0;
}
void main(void)
{
   int i,j,m;
 
 m=(int)sqrt(99999);
 for(i=1;i<m;i++)
 {
     j=i*i;
     if (1==havesamenum(j))

     printf("%6d\t",j);
 }
}

        下图为运行结果:


 

利用VC++实现局域网实时视频传输:【上一篇】
有点难度的C++面试题:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 在Linux下使用ISDN拨号上网
  • GPRS移动通信应用的透析
  • Flash轻松演示“气体摩尔体积”
  • 用Fireworks实现下雪效果
  • Explorer.exe程序在系统中的作用
  • Introduction to IPAudit
  • 垃圾邮件大阻击
  • Coinstor Backup Server企业级整体备份解决方案
  • 可能要赔钱了
  • XML 命名空间以及它们如何影响 XPath 和 XSLT (Extreme XML)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.