C递归实现数分解
来源:互联网 发布:淘宝账号贷款申请流程 编辑:程序博客网 时间:2024/05/17 00:11
题目描述:
把一个给定的整数分解成若干个素数的和。
Input
一个数。(32位无符号整型数范围内。)
Output
一些素数。
Sample Input
9
Sample Output
3 3 3
实现代码:
#include<stdio.h>
#include<math.h>
int prime(unsigned int n) //素数判断
{
unsigned int i;
int flag=0; //标志位设为0
for(i=2;i<=sqrt(double(n))+1;i++)
{
if(n==2) { flag=1; break; }
if(n%i!=0) flag=1;
else { flag=0; break; }
}
if(flag==1) return 1;
if(flag==0) return 0;
}
void serparte(unsigned int n,int k,int i) //分解数
{
if(n%i==0||prime(n))
{
k=n-i;
printf("%d ",i);
if(prime(k)) printf("%d ",k);
else
serparte(k,k,i);
}
else
{
++i;
serparte(n,k,i);
}
}
int main()
{
int n,k=0;
while(scanf("%d",&n)!=EOF)
serparte(n,k,2);
return 0;
}
- C递归实现数分解
- 算法----分解数例(递归实现)
- [c++]螺旋数递归实现
- 水仙花数&素数&质因数分解的C语言实现
- 【源码】将一个整数的每位数分解并按逆序放入一个数组中(用递归算法)(C语言实现)
- 使用递归求一个数分解质因数
- caioj1038:递归8(分解数)
- 7C分解百位数
- SVD分解C实现
- java通过递归实现质因数分解
- c语言实现cholesky分解
- C语言实现分解质因数
- C 分解质因数与完数
- C语言递归与非递归实现求第n个斐波那契数
- 递归和非递归分别实现求第n个斐波那契数(C语言)
- C语言实现-递归和非递归求第n个斐波那契数
- c语言实现求第n个斐波那契数。(递归和非递归)
- C语言 数独 递归
- 数字日期转化为汉字日期格式...
- December 5th Wednesday (十二月 五日 水曜日)
- December 6th Thursday (十二月 六日 木曜日)
- 关于四舍五入的问题,toFixed()
- 唐僧在如来面前吐真言
- C递归实现数分解
- 用户接入公私网穿越的问题及现状
- 通用表单验证函数
- eclipse不能编译的问题
- December 7th Friday (十二月 七日 金曜日)
- 关于输入框中显示双引号和单引号
- 在JAVA中调用存储过程、并将结果取出来一例
- Advanced Heap Spray Technique -- Heap Spray in Java
- DLL调用问题