C++递归算法之分成互质组
来源:互联网 发布:js中window事件 编辑:程序博客网 时间:2024/06/05 04:16
分成互质组
- 第一行是一个正整数n。1 <= n <= 10。
第二行是n个不大于10000的正整数。Output
- 一个正整数,即最少需要的组数。
Sample Input
614 20 33 117 143 175
Sample Output
3
代码
以下是敝人以自己的拙见写出的辣鸡代码:#include<cstdio>#include<cstring>int n,a[20],b[20],c=1;int fun(int x,int y) //递归法判断互质{if(!y) return x;return fun(y,x%y);}int main(){memset(b,1,sizeof(b)); //以便于"b[j]*=a[i];"scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&a[i]);b[1]=a[1];for(int i=2;i<=n;i++){int j;for(j=1;j<=c;j++)if(fun(a[i],b[j])==1){b[j]*=a[i];break;}if(j-1==c) //意思就是上面的"break"一次都没有执行b[++c]=a[i];}printf("%d",c);}
Description
给定n个正整数,将它们分组,使得每组中任意两个数互质。至少要分成多少个组?
Input
阅读全文
1 1
- C++递归算法之分成互质组
- C语言之算法初步(汉诺塔--递归算法)
- C语言之算法初步(汉诺塔--递归算法)
- C语言之算法初步(汉诺塔--递归算法)
- C语言之算法初步(汉诺塔--递归算法)
- noi.openjudge 7834题解 分成互质组(分层递归)
- 分成互质组
- 分成互质组
- c典型算法 递归
- c典型算法 递归
- C#_递归算法
- C# 递归算法!
- c算法 ->递归函数
- c算法-递归
- C/C++面试之算法系列--菲波拉契数列的递归与非递归算法
- C/C++面试之算法系列--菲波拉契数列的递归与非递归算法
- 算法导论 之 平衡二叉树 - 删除 - 递归[C语言]
- 算法导论 之 平衡二叉树 - 打印 - 递归[C语言]
- 【翻译】一步步开发一个Web服务器.Part 2.
- Linux 系统管理之一次性定时任务 at 的使用
- 【数论】【容斥原理】八
- 一点python基础知识
- Druid中(*)druid property for user to setup问题的解决办法
- C++递归算法之分成互质组
- 触摸事件
- Win下JNA调用C/C++导出的DLL
- 多线程的各种案例
- kakfa in docker
- c语言核心整理之数据类型,运算符,表达式和语句
- 移植QT到QNX,QNX开发QT程序,QT图形开发环境搭建
- 道路和航路
- 阿拉伯文变形规范,阿拉伯语变形规则,阿拉伯文组合规则