CODE[VS]1012 最大公约数和最小公倍数问题
来源:互联网 发布:js隐藏滚动条 编辑:程序博客网 时间:2024/06/08 15:00
题目:http://codevs.cn/problem/1012/
思路:p*q = x0 * y0,p的值为x0的倍数,最大为y0,遍历所有p,q值,计算满足条件的个数。
题解:
/* 1012 最大公约数和最小公倍数问题 */#include <stdio.h>/* 求取最大公约数 */ int gcd(int m, int n){ return (m % n == 0) ? n : gcd(n, m % n); }/* 主函数入口 */ int main(int argc, char *argv[]) { long x0, y0; /* 最大公约数,最小公倍数 */ long p, q; /* p q */ int count = 0; /* 计数 */ int i; /* 索引 */ /* 获取最大公约数,最小公倍数 */ scanf("%ld %ld", &x0, &y0); /* p值从1至y0/x0遍历,q = (x0 * y0) / p */ for(i = 1; i <= y0 / x0; i++){ p = x0 * i; /* q不为整数,退出本次循环 */ if(y0 % p != 0){ continue; } /* 获取q值 */ q = x0 * (y0 / p); /* q值大于p值退出循环 */ if(q < p){ break; } /* 如果满足最大公约数条件,计数器加2 */ if(gcd(q, p) == x0){ count = count + 2; } } /* 打印结果 */ printf("%d", count); return 0;}
阅读全文
0 0
- CODE[VS]1012 最大公约数和最小公倍数问题
- Code Vs-problem-1012 最大公约数和最小公倍数问题
- Code[VS] 1012 最小公倍数与最大公约数
- 1012 最大公约数和最小公倍数问题
- 1012 最大公约数和最小公倍数问题
- 1012 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- Callable、Future接口实现原理,FutureTask 原理解析,获取线程的返回值
- 1570:茵茵的第一课
- 数组删除元素
- hdu3085双向bfs+曼哈顿距离判断
- 基于spring-scheduing扩展的cron模块
- CODE[VS]1012 最大公约数和最小公倍数问题
- SaltStack技术入门与实践
- 技能冷却设置
- AAC的RTP/SDP
- Spark 之 经典案例
- Ubuntu 下如何挂载访问Windows磁盘
- RabbitMQ初识
- Robot framework(RF) 用户关键字
- JMeter分布式部署精要