100c之29:求具有abcd= ( ab + cd )^2 性质的四位数

问题

求具有abcd= ( ab + cd )2 性质的四位数

分析

穷举,这个题目穷举过程也有一些技巧,比如只有 ab+cd 的个位数平方的个位数等于d才有可能。 比如2025, 20+25=45, 45的个位数是5等于d。 再比如3027绝对不可能,因为30+27=57的个位数平方等于49不等于d。

解决方案

 1:  /**
 2:   * @file   029c.c
 3:   * @author Chaolong Zhang <emacsun@163.com>
 4:   * @date   Fri May 31 14:39:10 2013
 5:   * 
 6:   * @brief  求具有abcd= ( ab + cd )^2 性质的四位数
 7:   */
 8:  
 9:  #include <stdio.h>
10:  
11:  int main(int argc, char *argv[])
12:  {
13:      int n;
14:  
15:      for (n=1000; n <= 9999; ++n)
16:      {
17:          int temp;
18:          temp = n/100 + n%100;
19:          if ( ( temp%10 ) * ( temp %10 ) %10 == n%10 &&  temp * temp == n )
20:                  printf ("%d = ( %d + %d )^2  \n",n ,n/100, n%100 );
21:      }
22:      return 0;
23:  }

运行结果

2025 = ( 20 + 25 )^2  
3025 = ( 30 + 25 )^2  
9801 = ( 98 + 1 )^2 

转载于:https://www.cnblogs.com/chaolong/archive/2013/05/31/3110397.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值