// 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。// 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:// (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。// (2)如果nk,但n能被k整除,则应打印出k的值,并用...
分类:
其他好文 时间:
2014-07-07 00:21:26
阅读次数:
334
Linux环境: 无论操作系统何时启动一个新程序,参数argc和argv都会被设置并传递给main(即使main函数未声明参数,此时只是不能使用这些参数)。这些参数通常由另一个程序提供,一般是shell,它要求操作系统启动该新程序。shell会接受用户输入的命令行,将命令行分解成单词,然后把这些单词...
分类:
系统相关 时间:
2014-07-06 21:43:20
阅读次数:
272
它的思想是将一个无序的数组先用递归进行二分,当分解为无限小时,即为单个整数时,再对其进行排列。得出有序的数组 代码如下: package com.jll.sort; public class MergeSort { public MergeSort() { } public void merge(i...
分类:
其他好文 时间:
2014-07-06 21:01:33
阅读次数:
161
分解质因数算法 1.从N开始递减,找到满足 : n%i ==0 && n是素数 -> result2.存result到数组,递归执行(n/result)var result = new Array();
var factor = function f(n){
if(n == 1){return ;}
var n1 = n;
while(n1>1){
if(isPrime(n1) && n ...
分类:
其他好文 时间:
2014-07-04 07:21:41
阅读次数:
237
题目:993 - Product of digits
题目大意:将一个数通过因式分解变成另一个由因子组成的最小的数。
解题思路:因为要组成数,所以因子只需要从 2 - 9,又因为需要最小的数,所以因式分解从最大的因子开始,这样位数最少,最后输出从最小的因子输出,保证最小。1的话需要特判,因为所有的数都有因子1.
代码:
#include
#include
co...
分类:
其他好文 时间:
2014-07-03 18:21:51
阅读次数:
155
题目连接:uva 10622 - Perfect P-th Powers
题目大意:对于x,如果存在最大的p,使得有整数满足x=bp,则称x为perfect
pth power。现在给出x,求p。
解题思路:将x分解质因子,所有置因子的个数的最大公约数即为所求p,需要注意的是x为负数的时候,p必须为奇数。
#include
#include
#include
const...
分类:
其他好文 时间:
2014-07-03 16:56:13
阅读次数:
233
OSGI的bundle为什么要引入bundle?我们常常需要把大型系统分解为多个较小的互相协作的逻辑单元,我们希望这些逻辑单元内部之间是互相不可见的,但同时我也要是这些逻辑单元对外提供一些接口供外部调用以协作完成我们的业务。这不就是面向对象吗?类似于封装一个类,同时提供一些外部可以访问的public...
分类:
其他好文 时间:
2014-07-02 19:17:15
阅读次数:
187
设m=C(n,k)=n!/((n-k)!*k!) 问题:求m的因数的个数
将m分解质因数得到
p1有a1个
p2有a2个
....
由于每个质因数可以取0~ai个(全部取0就是1,全部取ai就是m)最后的答案就是(a1+1)*(a2+1)*....*
注意不能直接将m分解,因为太大,所以要先分解n,n-k,k,根据他们再来加减。
#include
#include
#includ...
分类:
其他好文 时间:
2014-07-02 16:51:02
阅读次数:
289
题目连接:uva 294 - Divisors
题目大意:给出一个范围L~U,问说在该范围中因子数最多的数是多少。
解题思路:枚举L~U中的数,将数分解成质因子,利用乘法原理求总因子数。
#include
#include
#include
int countFactor (int x) {
int ans = 1;
int m = sqrt(x+0.5);
...
分类:
其他好文 时间:
2014-07-02 15:27:15
阅读次数:
298
分析:
对N进行质因数分解 N=2^x * 3^y * 5^z...,由于10 = 2*5,所以末尾0的个数只和x与z有关,每一对2和5相乘可以得到一个10,于是末尾0的个数=min(x,z)。在实际中x是远远大于z的,所以我们只要求出z的值即可。
根据公式
z = N/5 + N/5^2 + N/5^3+...+N/5^k
这表明,5的倍数贡献了一个5,5^2的倍数又贡献了一...
分类:
其他好文 时间:
2014-07-02 09:54:52
阅读次数:
225