吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1085|回复: 11
收起左侧

[学习记录] C语言学习100列之003

[复制链接]
流光 发表于 2021-12-1 14:26
本帖最后由 流光 于 2021-12-1 14:28 编辑

【程序3】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
      的结果满足如下条件,即是结果。请看具体分析:
2.程序源代码:
[C] 纯文本查看 复制代码
#include "math.h"
#include "stdio.h"
#include "conio.h"
main()
{
  long int i,x,y,z;
  for (i=1;i<100000;i++)
  {
    x=sqrt(i+100); /*x为加上100后开方后的结果*/
    y=sqrt(i+268); /*y为再加上168后开方后的结果*/
    if(x*x==i+100&&y*y==i+268) /*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
    printf("\n%ld\n",i);
  }
  getch();
}


自写代码:

[C] 纯文本查看 复制代码
#include<stdio.h>
#include<math.h>  //引入数学计算文件头

int main() {
        int long i = 0; //初始化值
        int x, y;

        while (1) {


                x = sqrt(i + 100);
                y = sqrt(i + 100 + 168);

                if (x * x == i + 100 && y * y == i + 100 + 168)// 两个条件都成立,打印出多个结果
                {

                        printf("\n恭喜:找到答案:%ld\n", i);
                        break;  // 找到结果跳出循环。  注释后。会一直寻找!貌似题目没说找几个,就输出一个好了。
                }
                //printf("不匹配:%ld\n", i);  // 这里 寻找的过程!  注释后 不显示失败值。
                i++;
        }



        return 0;

}


免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
ZuAMos + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

唯有诗酒度余生 发表于 2021-12-1 14:34
学习案例就是进一步剖析实战运用
头像被屏蔽
tlf 发表于 2021-12-1 14:46
ruanjl 发表于 2021-12-1 15:17
平淡最真 发表于 2021-12-1 17:05
两个平方相差68    就算相差1 的话   2个数也不会超过35   所以i<1225就行了。后面全是无用功。
实际上m^2-n^2=68只能=34*2     也就是16  和18    i=156
15071719559 发表于 2021-12-1 18:35
最好做个项目练练
努力画图 发表于 2021-12-1 20:27
整需要呢  嘎嘎一嘎斯
wyc199616 发表于 2021-12-1 20:47
参考学习,温故知新
YuXiAba 发表于 2021-12-1 21:02
参考学习
Chuxia6312994 发表于 2021-12-1 22:38
参考学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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