c语言 判断互质,[经典算法] 找出某数以内与其互质的数
起因:前几天做了一个这样的题目,感觉自己变成了一个智障,来写写算法;
相关定义:
①质数定义:没有除 '1' 以外的因子的数就是质数。如:1、3、5、7、11等等。
②互质定义:两个数之间除 '1' 以外没有其他公共因子,那么这两个数互质。如:1 和 2、3 和 5。
③公共因子:能够被两个数整除的数就叫做这两个数的公共因子。如:2 是 4 和 6 的公共因子。
算法分析:
设有两数 a 和 b (a <= b),那么逐一判断从 1 到 a 的范围内是否有 a 与 b 的公共因子,如果有,放弃之后的判断,如果没有,继续判断,直到满足上面的互质定义。
算法实现:
//这里以找出 100 以内与 100 互质的数为例
C语言:
#include
void GetPrimeNum(int maxNum) {
printf("%4d 以内与其互质的数如下\n", maxNum);
int count = 0;
for (int i = 1; i <= maxNum; i++)
{
for (int j = 2; j <= i; j++)
{
if ((i % j == 0) && (maxNum % j == 0)) // 判断
{
break;
}
else if (j >= i)
{
count++; //数量 + 1
printf("%4d", j);
}//结束条件判断
}//结束内层循环
}//结束外层循环
printf("\n除 1 之外,这样的数一共有:%4d 个", count);
}//函数结束
void main()
{
GetPrimeNum(100); //求100以内与其互质的数;
}
c语言 判断互质,[经典算法] 找出某数以内与其互质的数相关推荐
- 现在有一个整数数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数...
现在有一个整数数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数. 方法1:Hash链表 方法2:使用两个变量A和B,其中A存储某个数组中的数,B用来计数.开始时将B初始化为0 ...
- 知哈希算法——找出相似的图片
知哈希算法--找出相似的图片 感知哈希算法--找出相似的图片 - Create Chen - 博客园 知哈希算法--找出相似的图片 Google 图片搜索功能 在谷歌图片搜索中, 用户可以上传一张图片 ...
- 6.20 C语言练习(找出1至99之间的全部同构数。同构数是这样的一组数:它出现在平方数的右边。)
[练习] 题目要求:试编程序,找出1至99之间的全部同构数.同构数是这样的一组数:它出现在平方数的右边.如5是25右边的数,25是625右边的数,5和25均是同构数.例如:输出:1 5 6 25 76 ...
- Java黑皮书课后题第5章:5.11(找出能被5或6整除的数,但不能同时整除)编写程序,显示从100到1000之间能被5或6整除但不能同时整除的数,每行显示10个。数字之间用一个空格字符隔开
5.11(编写程序,显示从100到1000之间能被5或6整除但不能同时整除的数,每行显示10个.数字之间用一个空格字符隔开 题目 题目概述 破题 引申:continue break与return 代码 ...
- Java黑皮书课后题第5章:5.10(找出能被5和6整除的数)编写程序,显示从100到1000之间所有能被5和6整除的数,每行显示10个。数字之间用一个空格字符隔开
5.10(找出能被5和6整除的数)编写程序,显示从100到1000之间所有能被5和6整除的数,每行显示10个.数字之间用一个空格字符隔开 题目 题目概述 破题 引申:continue break与re ...
- 编写程序读取一系列整数,找出它们的最大数,然后计算该数的出现次数,假定输入以0结束。
编写程序读取一系列整数,找出它们的最大数,然后计算该数的出现次数,假定输入以0结束.输入格式 在一行中输入待统计的整型数,各个数可以以一个或多个空格或回车分隔,以0结束. 输出格式: 以两行输出: 第 ...
- 解放文件夹下所有层级的特定格式文件,找出文件夹内所有的txt/FLAC/MP4/MP3等等等等,并复制到另一个文件夹中
解放文件夹下所有层级的特定格式文件,找出文件夹内所有的txt/FLAC/MP4/MP3等等等等,并复制到另一个文件夹中 引言 代码 得意 天天学习,好好向上 引言 各位朋友们好!最近遇到一些想要方便办 ...
- C语言试题三十五之找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。主函数中x是数组名,n 是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
1. 题目 请编写一个函数function,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回.主函数中x是数组名,n 是x中的数据个数,max存放最大值,i ...
- 判断链表是否相交并找出交点
问题概述 单链表定义如下: public class ListNode {int val;ListNode next;ListNode(int x) {val = x;next = null;}} 编 ...
最新文章
- 《移动App测试的22条军规》—App测试综合案例分析23.7节测试微信App对于操作系统特性的支持程度...
- log4.properties文件【笔记自用】
- Python--读取csv文件的整列
- Django框架深入了解_03(DRF之认证组件、权限组件、频率组件、token)
- Promise对象的创建与使用
- 边缘提取和场景分割 学派?
- Codeforces Round #699 (Div. 2) 题解
- cesium的clock开始,结束,控制速率
- python绘制折线图显示数据_漂亮图表也可用python信手拈来!一文教你学会用Python绘制堆积折线图...
- android 实例源码解释,Android Handler 原理分析及实例代码
- cmake gui安装教程_cmake安装与使用
- python50种算法_一文洞悉Python必备50种算法
- 深度学习2.0-41.GRU原理及实战
- SPC控制图的样品子组大小为什么建议为5
- CATIA软件基础操作及知识工程
- DCDC电源中同步与异步的区别
- 夜曲歌词 拼音_标准的《夜曲》歌词
- 2017春运抢票软件哪个好,教你看懂刷票原理!
- 肯德尔系数怎么分析_肯德尔和谐系数
- 实话实说!猿如意大测评!助力coding!