打印本文 打印本文  关闭窗口 关闭窗口  
C趣味编程百例(08)求具有abcd=(ab+cd)2性质的四位数
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 13:59:22  文章录入:杜斌  责任编辑:杜斌

29.求具有abcd=(ab+cd)2性质的四位数
    3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身。请求出具有这样性质的全部四位数。
*题目分析与算法设计
    具有这种性质的四位数没有分布规律,可以采用穷举法,对所有四位数进行判断,从而筛选出符合这种性质的四位数。具体算法实现,可任取一个四位数,将其截为两部分,前两位为a,后两位为b,然后套用公式计算并判断。
*程序说明与注释
#include<stdio.h>
void main()
{
    int n,a,b;
    printf("There are following number with 4 digits satisfied condition\n");
    for(n=1000;n<10000;n++)             /*四位数N的取值范围1000~9999*/
    {
        a=n/100;                        /*截取N的前两位数存于a*/
        b=n%100;                        /*截取N的后两位存于b*/
        if((a+b)*(a+b)==n)      /*判断N是否为符合题目所规定的性质的四位数*/
            printf("%d  ",n);
    }
}
*运行结果
    There are following numbers with 4 digits satisfied condition:
        2025        3025        9801
打印本文 打印本文  关闭窗口 关闭窗口