整数分解 && 质因数分解
输入整数(0-30)分解成所有整数之和。每四行换行一次。
一种方法是通过深度优先枚举出解。通过递归的方式来实现。
#include <stdio.h>
#include <string.h>
#define MAXN 30
#define MAXString 64
int Terms[MAXN];
int N;
int Count; void Search(int Remainder,int Start,int nTerm)
{
int i;
if(Remainder == ){
Count++;
if(Count%!=)
printf(";");
printf("%d=%d",N,Terms[]);
for(i=;i<nTerm;i++)
printf("+%d",Terms[i]);
if(Count%==)
printf("\n");
}
else
{
for(i=Start;i<=Remainder;i++){
Terms[nTerm]=i;
Search(Remainder-i,i,nTerm+); }
}
}
void Test1()
{
scanf("%d",&N);
Count=;
Search(N,,); if(Count%!=)
printf("\n");
}
void Search1(int Remainder, int Start,char *STerms)
{
int i;
char Tmps[MAXString];
strcpy(Tmps,STerms);
for(i=Start;i<=Remainder;i++)
{
if(Remainder-i>=i)
{
sprintf(Tmps+strlen(STerms),"%d+",i);
Search1(Remainder-i,i,Tmps); }else if(Remainder-i==)
{
sprintf(Tmps+strlen(STerms),"%d ",i);
Count++;
if(Count%!=)
printf(";");
printf("%s",Tmps);
if(Count%==)
printf("\n"); } }
}
void Test2()
{
char STerms[MAXString]="";
int N;
Count=;
scanf("%d",&N);
Search1(N,,STerms);
if(Count%!=)
printf("\n"); }
第二种方法是试探下一次是否达到边界,避免了第一种方法的多次无效递归。

质因数分解,输入大整数long int并分解其为素数的乘积
//整数分解成素因子
void Decomposed(long int data){ int i;
int si=0;
int temp=data;
for(i=2;i<=temp;i++){
if(temp!=i)
{
while(true){
if(temp%i==0 && temp/i!=1){
printf("%d*",i);
temp/=i;
//printf("temp=%d,i=%d\n",temp,i);
}else if(temp%i==0 && temp/i==1){
printf("%d",i);
temp/=i;
//printf("temp=%d,i=%d\n",temp,i);
}
else
break;
}
}else{
printf("%d\n",i);
si=1;
} }
if(si==0)
printf("\n"); } void TestDecomposed(){
long int x=1000234;
printf("%ld=",x);
Decomposed(x);
}

整数分解 && 质因数分解的更多相关文章
- Project Euler 29 Distinct powers( 大整数质因数分解做法 + 普通做法 )
题意: 考虑所有满足2 ≤ a ≤ 5和2 ≤ b ≤ 5的整数组合生成的幂ab: 22=4, 23=8, 24=16, 25=3232=9, 33=27, 34=81, 35=24342=16, 4 ...
- C语言 · 分解质因数
问题描述 求出区间[a,b]中所有整数的质因数分解. 输入格式 输入两个整数a,b. 输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小 ...
- Java实现 蓝桥杯VIP 基础练习 分解质因数
题目介绍 问题描述 求出区间[a,b]中所有整数的质因数分解. 输入格式 输入两个整数a,b. 输出格式 每行输出一个数的分解,形如k=a1a2a3-(a1<=a2<=a3-,k也是从小到 ...
- python基础练习题(题目 将一个整数分解质因数。例如:输入90,打印出90=2*3*3*5)
day9 --------------------------------------------------------------- 实例014:分解质因数 题目 将一个整数分解质因数.例如:输入 ...
- algorithm@ 大素数判定和大整数质因数分解
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<time.h> #in ...
- 大整数分解质因数(Pollard rho算法)
#include <iostream> #include <cstring> #include <cstdlib> #include <stdio.h> ...
- 程序设计入门——C语言 第6周编程练习 1 分解质因数(5分)
1 分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. ...
- 【BZOJ-4514】数字配对 最大费用最大流 + 质因数分解 + 二分图 + 贪心 + 线性筛
4514: [Sdoi2016]数字配对 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 726 Solved: 309[Submit][Status ...
- 【基础数学】质数,约数,分解质因数,GCD,LCM
1.质数: 质数(prime number)又称素数,有无限个.一个大于1的自然数,除了1和它本身外,不能整除以其他自然数(质数),换句话说就是该数除了1和它本身以外不再有其他的因数. 2.约数: 如 ...
随机推荐
- 桔子浏览器|1M安装包|hao123专属浏览器
桔子浏览器是百度为好123打造的首页导航浏览器,体积小.为老年机上网提供便利. 免费下载:http://yunpan.cn/cmKbYXamEVUiY 访问密码 d270
- ios UITableview 刷新某一个cell 或 section
//一个section刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:]; [tableview reloadSections:ind ...
- 2-ls 显示目录内容
ls list directory contents 显示目录内容 [语法]: ls [选项] [参数] [功能介绍] ls指令用来显示目录列表,在Linux系统中有着较高的使用率.ls指令的输出信息 ...
- android 颜色对照
<table><tbody> <tr> <td bgcolor="#ffffff" width="30" height ...
- github page 和 hexo 搭建在线博客
目录: 安装node.js与git 常用git命令 安装hexo 配置hexo hexo发布到github 1.安装node.js和git工具 https://nodejs.org/en/ 直接下载安 ...
- applicationContext.xml和dispatcher-servlet.xml的区别
在SpringMVC项目中我们一般会引入applicationContext.xml和dispatcher-servlet.xml两个配置文件,这两个配置文件具体的区别是什么呢? Spring 官方文 ...
- [转]SpringMVC+Hibernate+Spring 简单的一个整合实例
原文地址:http://langgufu.iteye.com/blog/2088355 下面开始实例,这个实例的需求是对用户信息进行增删改查.首先创建一个web项目test_ssh,目录结构及需要的J ...
- git rebase 和 reset的区别
check the command detail by input 'git command --help' rebase: reset:
- HSV
HSV 相比于面向机器的RGB, HSV或HSI更贴近于人对颜色的描述: H: Hue, 颜色本身 S: Saturation, 纯色被白色稀释的程度. V: Value, 或I, Intensity ...
- 在Eclipse 中打开当前文件夹
最近试过好多次,安装插件来 在Eclipse 中打开当前文件所在文件夹,结果总是不甚如意. 烦躁了,决定还是不要使用插件了!!! 1.打开Eclipse,点击菜单栏上的Run--External To ...