Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2545212
  • 博文数量: 308
  • 博客积分: 5547
  • 博客等级: 大校
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 09:47
个人简介

hello world.

文章分类

全部博文(308)

分类: C/C++

2011-04-27 18:29:51

    有这样的一个4位数abcd,它具有这样的性质abcd = (ab+cd) * (ab+cd)。其中ab和cd为两个2位数,求这个4位数abcd.
    此题,我们可以使用穷举,我们知道四位数是从1000到9999,然后用四个变量分别代码千,百,十,个位。编写代码如下:
  1. #include <stdio.h>

  2. void fun()
  3. {
  4.   int a,b,c,d;
  5.   for(a=1; a<10; a++)
  6.     for(b=0; b<10; b++)
  7.       for(c=0; c<10; c++)
  8.         for(d=0; d<10; d++)
  9.           if(a*1000+b*100+c*10+d == ((a*10+b) + (c*10+d)) * ((a*10+b) + (c*10+d)))
  10.             printf("%d%d%d%d\t",a,b,c,d);
  11. }

  12. int main(int argc, char *argv[])
  13. {
  14.   printf("there are following numbers according with the condition\n");
  15.   fun();
  16.   printf("\n");
  17.   return 0;
  18. }
执行情况如下:
2025    3025    9801    peng@ubuntu:~/src/test/c/suanfa/miaoqu$ gcc 6.3.c
peng@ubuntu:~/src/test/c/suanfa/miaoqu$ ./a.out 
there are following numbers according with the condition
2025    3025    9801

阅读(1466) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~