Algorithms&Solutions
thumb3344
这个作者很懒,什么都没留下…
展开
-
值交换
问题:假设有两个整型变量a1、a2,值分别是v1,v2 如何才能交换他们的值?解答:1. temp = a1 #temp此时为v1a1 = a2 #a1此时为v2b2 = temp #a2此时为v12.a1 = a1+a2 #a1此时为v1+v2a2 = a1-a2 #a2 此时为v1a1 = a1-a2 #a1 此时为v2原创 2010-09-01 22:29:00 · 456 阅读 · 0 评论 -
求fibonacci
问题:a0=0,a1=1...ak = ak-1+ak-2 ,求an 解答:1. 递归def fib(n): if n == 0: return 0 elif n == 1: return 1 else: return fib(n-1) + fib(n-2)2. 迭代 a, b = 0, 1 while b原创 2010-09-02 00:06:00 · 294 阅读 · 0 评论 -
算法的时间复杂度
<br />注:通篇全是我从不同文章里抄得。 包括:popkiler的博客和丹尼的博客<br /> <br />算法的时间性能分析<br /> <br />一个算法所耗费的时间=算法中每条语句执行时间之和<br />其中,算法中每条语句执行时间=语句频度*执行所需的单位时间。如果一条语句执行时间为单位时间,那么程序执行时间就是所有语句的频度之和。可以看出程序性能的取决于机器指令的性能、速度和编译器产生的代码质量有关。<br /> <br />O(1):<br /> <br /> tmp=m;m=n;n=tm原创 2010-09-03 13:51:00 · 480 阅读 · 0 评论 -
求a*b,a+b
问题:a,b为非负整型,求a*b。只能用+、-、=、!=运算符。解答:1. k,c=0,1 while k原创 2010-09-01 23:11:00 · 530 阅读 · 0 评论 -
求a的N次方
问题:假设a是整型,N为非负整型。求a的N次方b解决:1. k=0 b=1 while k 2. k=N b=1 while k > 0: b = a*b k = k-1原创 2010-09-01 22:41:00 · 911 阅读 · 0 评论 -
因式分解
<br />问题:<br />Write a program that points the factorization of a given integer n > 0.(In other words, it should print prime numbers whose product is equal to n;if n=1, nothing should be printed)<br />解答:<br />1.<br /> k=nwhile k!=1: t = 2 whil原创 2010-09-03 00:00:00 · 447 阅读 · 0 评论 -
求素数
<br />问题:<br />Check whether a given number n > 1 is prime.<br />解答:<br />1.<br />def isPrime(n): for i in range(2, int(pow(n, 0.5))): if n % i == 0: return False return True <br />2.筛选法<br />import random原创 2010-09-03 00:19:00 · 372 阅读 · 0 评论 -
求平方
<br />问题:<br />Write a program that point the squares of the natural number 0,1,...,n.<br />解答:<br />1.<br /> <br /> k=0while not (k>n): print k*k k=k+1<br />2.(n-1)2=n2-2n+1则n2=(n-1)2+2n-1<br />k=0while not (k>n): k=k+1 square = s原创 2010-09-02 23:48:00 · 401 阅读 · 0 评论 -
求GCD(a,b)
<br />问题:<br />Two nonnegative integers a and b are not both zero. Compute GCD(a,b), the greatest common divisor of a and b.<br />解答:<br />1. <br />k = max(a,b)while not (a%k==0 and b%k==0): k = k-1<br />2.Euclid's algorithm<br />m,n=a,bwhile not原创 2010-09-02 16:33:00 · 609 阅读 · 0 评论 -
求n!
问题:求非负整数n的阶乘。 解答:sum,k = 1,nwhile k>0: sum = sum*k k = k-1原创 2010-09-01 23:46:00 · 368 阅读 · 0 评论 -
求1/0!+1/1!+...+1/n!
<br />问题:<br />非负数n,求1/0!+1/1!+...+1/n!。<br />解答:<br />1<br />k,a,sum=N,1,0while k>0: k=k-1 a=a*k sum=sum+1/a原创 2010-09-02 12:53:00 · 458 阅读 · 0 评论