A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© coding_wang 中级黑马   /  2015-9-9 23:53  /  1186 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
//如果一个数的平方根的平方等于该数,这说明此数是完全平方数
//在math.h库中有开方函数 sqrt();
//思路:循环检测一个数字加上100能否开方,若可以,再检测这个数加216能否被开方,若可以,则跳出循环输出该数
#include <math.h>
#include <stdio.h>
int main()
{
        int i=1;
        while(1)
        {
                if(  (  (int)( sqrt(i+100)*10 ) )%10!=0  )                        //如果i+100被开方不是整数时,说明不能被开方,则i++,然后跳过本次循环
                {
                        i++;
                        continue;
                }
                else if(  (  (int)( sqrt(i+268)*10 ) )%10!=0 )                //如果i+100能被开方,再检测 i+268能否被开发,若不能则i++,然后跳过本次循环
                {
                        i++;
                        continue;
                }
                else                                                                                //如果i+100、i+268都能被开方,则i为所求数字,输出数字,并跳出循环
                {
                        printf("这个数字是:%5d\n",i);
                        return 0;
                }
        }
}

1 个回复

倒序浏览
飘过,看完了每一个代码!!赞一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马