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

hello world.

文章分类

全部博文(308)

分类: C/C++

2010-07-19 11:51:11

    这里有一道题:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
    这个题目,我们想到的是,通过循环,然后测试,看数据是否符合规定。我们知道如果一个数是完全平方数,则这个数可以进行开平方运算。因此此程序的关键点就是,这个数开平方后的数再相乘等于此数。根据这个逻辑。则程序编写如下所示:

#include <stdio.h>
#include "math.h"

int main(int arc,char *argv[])
{
    long int i;
    int x,y,z;
    for(i=1;i<100000;i++)
    {
                         x = sqrt(i + 100);
                         y = sqrt(i + 268);
                         if (x * x == i + 100 && y*y == i+268)
                         {
                            printf("%ld\n",i);
                         }
    }
    system("pause");
    return 1;
}


    其中程序中的if语句设计到优先级的问题。即乘除优先级>>加减优先级>>关系优先级(>,>=,<,<=)>>逻辑优先级(&&,||,!)。
阅读(1932) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~