摘要:
题目,如题: Ex: 10: 2, 5 15: 3, 5 30: 2, 3, 5 26: 2, 13 35: 5, 7 55: 5, 11 225: 3, 5第一种算法:程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n, 重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 private void PrimeDev(int v_SrcInt) { for (in 阅读全文
摘要:
转载:http://www.nowamagic.net/algorithm/algorithm_2n-power.php题目:给定一个整数num,判断这个整数是否是2的N次方。比如,2,4,8是2的那次方,6,10不是2的N次方。请看下面的程序:public static bool Check1(int num){ int i = 1; while (true) { if (i > num) return false; if (i == num) return true; i = i * 2... 阅读全文
摘要:
(1)题目:要求寻找二叉树中两个节点的最近的公共祖先,并将其返回。class Node { Node * left; Node * right; Node * parent; }; /*查找p,q的最近公共祖先并将其返回。*/ Node * NearestCommonAncestor(Node * p,Node * q); 算法思想:这道题的关键在于每个节点中包含指向父节点的指针,这使得程序可以用一个简单的算法实现。首先给出p的父节点p->parent,然后将q的所有父节点依次和p->parent作比较,如果发现两个节点相等,则该节点就是最近公共祖先,直接将其... 阅读全文