none
这个问题我不会啊,谁帮帮我? RRS feed

  • 问题

  • 1.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
    2.输入某年某月某日,判断这一天是这一年的第几天?
    上面的两个题怎么用C编写?编写时应注意什么呢?
    For Love forever!
    2009年11月16日 7:02

答案

  • 首先你要建模,不要上来就开始写程序。要把题目转化为模型。
    第一题,首先它加上100后是一个完全平方数,光从这个条件是不可能确定一个整数的。
    再加上168又是一个完全平方数,通过这两个条件,可以总结出这个整数必定是小于某个极限值的。例如,如果这个整数加100后的那个完全平方数的完全平方根是100,那么100的平方数是10000,而101的平方数是10201,10201-10000= 201。 201 >168。所以你可以确定这个整数的范围:
    (x+1)(x+1) - x*x <= 168
    可求出x <83.5
    那么83的完全平方数是6889。
    那么这个数的范围是[-100, 6789]
    那么你可以根据这个范围进行循环判断。
    同时你还可以通过完全平方数的特性进行优化:
    例如一些相关性质如下。
    性质1:完全平方数的末位数只能是0,1,4,5,6,9。
    性质3:如果完全平方数的十位数字是奇数,则它的个位数字一定是6;反之,如果完全平方数的个位数字是6,则它的十位数字一定是奇数。
    第二题,首先你要确定12个月每月的天数。这里要考虑到闰年的情况。然后先计算指定日期前面月份的天数,然后再加上几号就可以了。


    麻烦把正确答案设为解答。
    2009年11月17日 1:51
    版主