C语言编程:6-7 统计某类完全平方数

news/2024/11/14 23:45:54/

做题时只提交核心函数的代码即可

// 核心函数的实现
#include <stdbool.h> // 库函数,里面有bool类型bool IsPerfectSquare(const int n)
{if ((int)sqrt(n) * (int)sqrt(n) == n) // 判断是否为完全平方数{return true;}return false;
}bool SameDigitExist(const int n)
{int digits[10] = {0}; // 保持初始化变量的编程习惯int tmpNum = n;       // 同上do{++digits[tmpNum % 10]; // 计算每个数字出现的次数tmpNum /= 10;          // 除以10,去掉最后一位} while (tmpNum > 0);for (int idx = 0; idx < 10; ++idx) // 遍历数组{if (digits[idx] > 1){return true; // 如果有数字出现次数大于1,则返回true}}return false; // 否则返回false
}int IsTheNumber(const int N)
{if ((IsPerfectSquare(N)) && (SameDigitExist(N))) // 判断是否为完全平方数且有相同的数字{return 1; // 是则返回1}return 0; // 否则返回0
}

本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144676等。

函数接口定义:

int IsTheNumber ( const int N );

其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0

#include <stdio.h> // 编译预处理语句
#include <math.h>  // 库函数,里面有sqrt函数int IsTheNumber(const int N);int main(void) // 主函数
{int n1 = 0; // 保持初始化变量的编程习惯int n2 = 0; // 同上int cnt = 0;scanf("%d %d", &n1, &n2);for (int idx = n1; idx <= n2; ++idx){if (IsTheNumber(idx)){cnt++;}}printf("cnt = %d\n", cnt);return 0;
}// 核心函数的实现
#include <stdbool.h> // 库函数,里面有bool类型bool IsPerfectSquare(const int n)
{if ((int)sqrt(n) * (int)sqrt(n) == n) // 判断是否为完全平方数{return true;}return false;
}bool SameDigitExist(const int n)
{int digits[10] = {0}; // 保持初始化变量的编程习惯int tmpNum = n;       // 同上do{++digits[tmpNum % 10]; // 计算每个数字出现的次数tmpNum /= 10;          // 除以10,去掉最后一位} while (tmpNum > 0);for (int idx = 0; idx < 10; ++idx) // 遍历数组{if (digits[idx] > 1){return true; // 如果有数字出现次数大于1,则返回true}}return false; // 否则返回false
}int IsTheNumber(const int N)
{if ((IsPerfectSquare(N)) && (SameDigitExist(N))) // 判断是否为完全平方数且有相同的数字{return 1; // 是则返回1}return 0; // 否则返回0
}

输入样例:

105 500

输出样例:

cnt = 6

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

相关文章

IDEA自动生成实体类

操作流程 第一次需要配置Generate POJOs.groovy 新建该文件 Generate POJOs.groovy import com.intellij.database.model.DasTable import com.intellij.database.model.ObjectKind import com.intellij.database.util.Case import com.intellij.database.util.DasUtil import…

A Survey on Evaluation of Large Language Models

这是LLM相关的系列文章&#xff0c;针对《A Survey on Evaluation of Large Language Models》的翻译。 大型语言模型评价综述 摘要1 引言2 背景2.1 大语言模型2.2 AI模型评估 3 评估什么3.1 自然语言处理任务3.1.1 自然语言理解3.1.2 推理3.1.3 自然语言生成3.1.4 多语言任务…

【C++11】 线程库的使用

文章目录 1 线程库的基本使用1.1 thread1.2 this_thread1.3 线程函数参数 2 mutex2.1 mutex的基本使用2.2 mutex系列锁2.3 lock_guard与unique_lock 3 原子操作4 条件变量 1 线程库的基本使用 1.1 thread 在C11之前&#xff0c;涉及到多线程问题&#xff0c;都是和平台相关的&…

在Windows中开启Wifi热点共享,无需第三方工具

这个百度经验还是不错的&#xff1a;https://jingyan.baidu.com/article/cb5d6105ebab87005d2fe06a.html 根据这个链接&#xff0c;可以配置。

android wifi分享文件下载,WiFi文件共享

WiFi文件共享是一款免费的WiFi文件传输的软件&#xff0c;通过WiFi和自建热点让用户能够快速的进行文件上面的传输&#xff0c;无需链接网络就能够在设备当中进行使用&#xff0c;并且能够通过扫码的方式来直接的进行连接&#xff0c;通过这种方式的文件传输能够达到非常高的效…

利用windows 自带WiFi共享工具共享WiFi

关于windows 10校园网如何使用创翼分享无线热点 因为自己有很多设备都需要连接网络&#xff0c;但自己的流量达到40G又会被限速&#xff0c;自己办了一根连接校园网的网线&#xff0c;是通过netkeeper拨号上网的&#xff0c;有看到网上说在下载WiFi共享精灵、猎豹WiFi&#xf…

无需第三方软件,巧用系统自带功能开启共享WIFI

相信很多人都曾买过USB无线网卡吧&#xff0c;很便宜的一个小东西。但是基本上这些网卡都只能用自带的管理软件进行连接&#xff0c;很不方便。其实Windows自带了共享WIFI的功能&#xff0c;无需第三方软件即可使用WIFI共享功能。 查看设备驱动 Windows自带的功能虽然挺方便的…

安全使用公共WiFi

wife现在越来越受到大家的欢迎&#xff0c;可以随时随地上网&#xff0c;了解网络信息。但你是否也考虑wife上网的安全性&#xff0c;我想大家很多朋友都忽略了。这里我们来看下如何安全使用公共WiFi。 1、关掉共享。用户在工作场所或自己家里使用笔记本电脑时可能会与其他电脑…