小文’s blog — 方程整数解 –《蓝桥杯代码笔记1》

题目

方程整数解

方程: a^2 + b^2 + c^2 = 1000 (或参见【图1.jpg】) 这个方程有整数解吗?有:a,b,c=6,8,30 就是一组解。 你能算出另一组合适的解吗?

请填写该解中最小的数字。

注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

图1.jpg


题目分析

  • a, b, c分别是是三个什么数

a,b,c是三个整数 整数(integer)就是像-3,-2,-1,0,1,2,3,10等这样的数。 整数的全体构成整数集,整数集是一个数环。在整数系中,零和正整数统称为自然数。-1、-2、-3、…、-n、…(n为非零自然数)为负整数。则正整数、零与负整数构成整数系。整数不包括小数、分数。

  • a, b, c的取值范围是多少

31*31=961 32*32=1024 所以a, b, c的取值范围为{-31<=a<=31,-31<=b<=31,-31<=c<=31|a, b, c∈Z}


解题思路

a, b, c 全排列,输出符合条件的abc的值


代码示例

#include<stdio.h> int main () { int a, b, c; for(a=-31; a<32; a++) for(b=-31; b<32; b++) for(c=-31; c<32; c++) if(a*a+b*b+c*c==1000) printf("a=%d, b=%d, c=%d\n", a, b, c); return 0; }

123456789101112

#include<stdio.h>int main (){ int a, b, c; for(a=-31; a<32; a++) for(b=-31; b<32; b++) for(c=-31; c<32; c++) if(a*a+b*b+c*c==1000) printf("a=%d, b=%d, c=%d\n", a, b, c); return 0; }


运行截图


程序结果

网上大部分的答案都是10, 应该是只考虑了正整数的情况, 也许出题人也只考虑了正整数的情况

但是题目明确说明abc是整数,所以我认为答案是-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据科学学习手札

(数据科学学习手札07)R在数据框操作上方法的总结(初级篇)

上篇我们了解了Python中pandas内封装的关于数据框的常用操作方法,而作为专为数据科学而生的一门语言,R在数据框的操作上则更为丰富精彩,本篇就R处理数据框...

3368
来自专栏老九学堂

【干货】小白如何熟练掌握C语言随机数!

随机数的使用,是不少小伙伴在学C语言过程中都会遇到的一个坎,今天老九为大家讲解如何在C语言中使用随机数。 通常情况下,使用最多的方法的就是使用rand函数随机生...

3997
来自专栏云霄雨霁

关系代数

1350
来自专栏Fish

CUDA PTX ISA阅读笔记(二)

8. 第八章 指令集 这一章占了整个手册的一大半(百十来页吧),主要介绍各种指令,虽然页数很多,但是大多数指令都很简单。 8.1. 指令的形式和语义描述 这章就...

3975
来自专栏机器学习从入门到成神

数据库闭包和候选码求解方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

3591
来自专栏陈树义

如何检测链表中存在的环

链表有环的定义是,链表的尾节点指向了链接中间的某个节点。比如下图,如果单链表有环,则在遍历时,在通过结点J之后,会重新回到结点D。 ? 看了上面的定义之后,如...

2726
来自专栏数据处理

mat(矩阵)与array(数组)区别

1483
来自专栏Java技术分享

泛形

一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码:

17810
来自专栏C语言及其他语言

[每日一题]C语言程序设计教程(第三版)课后习题6.5

题目描述 求以下三数的和,保留2位小数 1~a之和 1~b的平方和 1~c的倒数和 输入 a b c 输出 1+2+...+a + 1^2+2^2+...+b^...

2805
来自专栏来自地球男人的部落格

[LeetCode] 120. Triangle

【原题】 Given a triangle, find the minimum path sum from top to bottom. Each step...

1857

扫码关注云+社区