利用C++实现整数因子的分解问题,通过input.txt文件输入数据,最终的结果输出到output.txt文件中,对该过程有较好的理解
1
整数因子分解问题 算法设计思路: n=x1*x2*x3*…*xm,分治思想设计(分解过程): n=x1*(x2*x3*…*xm); n=x1*x2*(x3*…*xm); … n=x1*x2*x3*…*xm; 分治过程: void factor(int n){ int i; if(n==1)total++; else for(i=2;i<=n;i++) if(n%i==0)factor(n/i);//分解过程 } 正确性: 可以求出所有分解因子个数。 复杂性: 当n非素数时T(n)=O(logn); 当n是素数时T(n)=O(n); 所以T(n)=O(n)
2021-11-18 12:18:20 264B 整数因子分解
1
整数因子分解问题 大于1 的正整数n可以分解为:n=x1*x2*…*xm。 例如,当n=12 时,共有8 种不同的分解式: 12=12; 12=6*2; 12=4*3; 12=3*4; 12=3*2*2; 12=2*6; 12=2*3*2; 12=2*2*3。 编程任务: 对于给定的正整数n,编程计算n共有多少种不同的分解式。 Input 输入数据。第一行有1 个正整数n (1≤n≤2000000000)。 Output 将计算出的不同的分解式数输出 Sample Input 12 Sample Output 8
2021-10-30 14:23:09 330KB 整数因子分解问题
1
实现2-11整数因子分解问题.cpp
2021-06-01 14:03:24 2KB 算法设计与分析
1