搜索
热搜: 活动 交友 discuz
Hi~登录注册
查看: 4142|回复: 1

编程练习题目-根据给定条件求出整数

[复制链接]

26

主题

26

帖子

106

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106
发表于 2021-6-28 19:15:12 | 显示全部楼层 |阅读模式


题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?


程序分析:


假设该数为 x。


1、则:x + 100 = n2, x + 100 + 168 = m2


2、计算等式:m2 - n2 = (m + n)(m - n) = 168


3、设置: m + n = i,m - n = j,i * j =168,i 和 j 至少一个是偶数


4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶数,要么都是奇数。


5、从 3 和 4 推导可知道,i 与 j 均是大于等于 2 的偶数。


6、由于 i * j = 168, j>=2,则 1 < i < 168 / 2 + 1。


7、接下来将 i 的所有数字循环计算即可。


题目源代码
先独立完成,遇到问题可参考(回复帖子即可看到源代码,如回复:打卡)。务必动手编写代码不可以直接拷贝粘贴。
游客,如果您要查看本帖隐藏内容请回复











回复

使用道具 举报

0

主题

18

帖子

78

积分

注册会员

Rank: 2

积分
78
发表于 2022-5-29 22:01:44 | 显示全部楼层
#include<iostream>

using namespace std;

int main()
{
        int x,i,j,n,m;
        int temp;
       
        for(i = 2;i < 168; i=i+2)
        {
                for(j = 2; j <168; j=j+2)
                {
                        if(i*j==168)
                        {
                                m = (i+j)/2;
                                n = (i-j)/2;
                        }
                }
        }
        x = m*m-268;
        cout <<"m=" << m << "n=" << n << endl;
        cout << x << endl;
        return 0;
}
回复

使用道具 举报

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

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