【C语言】判断一个数是否是完全平方数(两种解法)

news/2025/1/15 13:55:05/

题目:

判断一个数是否是完全平方数。
以下数字为完全平方数:4=2*2,9=3*3,144=12*12,169=13*13

有两个方法,可以求完全平方数:

方法一:输入一个数,遍历所有比这个数小的数,只要有其中一个数满足条件 小于该数的数 * 小于该数的数 = 该数,如3*3 = 9,那么这个数是完全平方数。

方法二:输入一个数,对这个数开方后取整,√该数 * √该数 = 该数,如√9*√9 = 3*3 = 9 ,那么这个数是完全平方数。

  • 使用sqrt()函数,对整数进行开方,开方后得到的是浮点数
  • 完全平方数开方后得到的应该是一个整数,而不是小数,所以使用(int)对这个开方后的数取整(3.9取整是3,3.0取整是3)
  • 这个数开方后取整得到的数,再平方,如果等于输入的数,那么该数是完全平方数

例:
输入9:√9 = 3.000000 -> (int)3.000000 = 3 -> 3*3 = 9,得到9是完全平方数
输入7:√7 = 2.645751 -> (int)2.645751 = 2 -> 2*2 != 7,得到7不是完全平方数

1.方法一的代码实现如下:

#include<stdio.h>int main()
{int i,n,flag=0; //flag标记是否是完全平方数,默认flag=0不是完全平方数scanf("%d",&n);for(i=1;i<n;i++) //从1循环到n-1if(i*i==n) //完全平方数判断条件flag=1;if(flag==1)printf("%d是完全平方数\n",n);elseprintf("%d不是完全平方数\n",n);return 0;
}

运行结果如下:

在这里插入图片描述
在这里插入图片描述

2.方法二的代码实现如下:

#include<stdio.h>
#include<math.h>int main()
{int n,integer; scanf("%d",&n);integer = (int)sqrt(n); //对输入的整数开方后,得到浮点数,再对浮点数取整if(n == integer * integer) //完全平方数判断条件printf("%d是完全平方数\n",n);elseprintf("%d不是完全平方数\n",n);return 0;
}

运行结果如下:

在这里插入图片描述


http://www.ppmy.cn/news/828758.html

相关文章

C语言学习:平方--乘方(m的n方)

平方&#xff1a; 直接用两个数(或变量)相乘就可以表示平方&#xff0c;比如x*x 不过如果&#xff0c;需要求m的n次方&#xff0c;就需要用到pow(x,y)乘方(包括开方)这个库函数了&#xff0c;使用pow(x,y)这个库函数&#xff0c;需要math.h头文件 其中x和y都是双精度浮点(do…

C语言程序设计:这里输入一个数,分别求其平方值、立方值和平方根。

C语言程序设计&#xff1a; 这里输入一个数&#xff0c;分别求其平方值、立方值和平方根。 求平方值时可以直接调用数学函数Math.sqrt() #include <stdio.h> #include <math.h> int main(void) { int n; scanf(“%d”,&n); printf(“%d %d %f”, nn, nn*n, …

C语言求数字的平方根

C程序设计(第五版) 课后习题 4.5 第四章 选择结构 空间限制&#xff1a;16MB时间限制&#xff1a;1s总提交数&#xff1a;3369通过率&#xff1a;38.79%题目来源: C程序设计(第五版)-谭浩强 从键盘输入一个小于等于1000的正整数&#xff0c;要求输出它的平方根&#xff08;如平…

C语言学习:开平方

C语言中&#xff0c;开平方需要用到 sqrt() &#xff0c;并且需要 用到 math.h 头文件 例&#xff1a; #include <stdio.h> #include <math.h> main() { float a&#xff0c;x&#xff1b; printf("请输入一个正数&#xff1a;\n");//这里按数据输入合…

c++开方与平方

今天来说一说c的平方与开方 先说说开方的函数&#xff1a; c中开方的函数是sqrt()函数 sqrt()函数的用法很简单&#xff0c;sqrt(a)&#xff0c;a是要被开方的数。 那c中平方的函数又是什么呢&#xff1f;是pow()函数 pow()函数的用法也很简单&#xff0c;pow(a,2) &#x…

c语言中平方根函数(sqrt)

目录 sqrt的使用1——头文件 sqrt的使用2——格式 sqrt的使用3——实战 题目描述 示例1 示例2 提示&#xff1a; 代码实现 sqrt的使用1——头文件 #include<math.h> sqrt用的是math头文件&#xff08;当然stdio也不要忘&#xff09; sqrt的使用2——格式 sqrt…

C语言编程1-n的立方和平方

#include <stdio.h> #include <stdlib.h> int main() { int i,sum10,sum20,n; printf("请输入一个整数n&#xff1a;"); scanf("%d",&n); for(i1;i<n;i) { sum1i*i; sum2i*i*i; } printf("平方为%d\n立方为%d\n",sum…

平方在c语言程序中怎么表示什么意思,c语言中的平方是怎么表示的?

c语言中的平方是怎么表示的?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01; c语言中的平方是怎么表示的? 直接用两个数(或变量)相乘就是了&#xff0c;比如x*x 另外C语言中&#xff0c;ma…