鱼C论坛

 找回密码
 立即注册
查看: 1776|回复: 2

求一个整数

[复制链接]
发表于 2014-9-14 17:51:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
怎么老是提示数据类型出错,求解答!
想求一个数,它加上100是一个完全平方数,再加上168还是一个完全平方数,最后输出这个数!
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
        long int a,b,i;
        for (i = 50; i <= 10000; i++)
        {
                a =  sqrt(i + 100);
                b = sqrt(i + 268);
                if (a*a==i+100 && b*b==i+286)
                        printf("%ld\n",i);
        }
                system("pause");
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-15 11:00:00 | 显示全部楼层
/******
* 这道题提供一条思路:
* 设要求的数为x
* 则a^2 = x + 100成立
* 且 (a+n)^2 = x + 168
* 其中a和n都是整数
* 下式减上式 = 2*n*a + n*n = 68
* 如果只考虑 a和n都是正整数的话
* *****/

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

#define DIF 68

int main()
{
        for(int n = 1; n < sqrt(DIF); n++)
                for(int a = 1; a < DIF/2 ; a++)
                        {
                                if(2*n*a + n*n == DIF)
                                {
                                        printf("这个数是: %d\n",a*a-100);
                                        printf("a: %d\n",a);
                                        printf("n: %d\n",n);
                                        printf("%d * %d = %d + 100\n",a,a,a*a-100);
                                        printf("%d * %d = %d + 168\n",a+n,a+n,(a+n)*(a+n)-168);
                                        
                                }
                        }
        return 0;
}


没有考虑负数的情况。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-16 21:56:19 | 显示全部楼层
elvo 发表于 2014-9-15 11:00
没有考虑负数的情况。。。。

多谢了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 02:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表