摘要: A + B Problem II/* 分析:对于此题做法有两种:其一,使2字符串的中的字符数字减去'0', 逐个相加大于等于10的可以使本位减10,下一位自增1,后面的处理就非常简单了; 其二,便是读入字符串后先让各个字符减'0',一一对应存入整形数组中;之后再相加。 对于2种方法大致是相同的,都要从后面向前加,逢十进位,以及数组初始化均要初始为0, 一边方便运算。 */ #include #include #include using namespace std; int main() { int n,i,len1,len2,j,k,pi,t,flag; ch 阅读全文
posted @ 2013-04-21 20:29 VeryBigMan 阅读(120) 评论(0) 推荐(0) 编辑
摘要: Fibonacci/* 用到了斐波那契数列的通项公式。 先看对数的性质,loga(b^c)=c*loga(b),loga(b*c)=loga(b)+loga(c); 假设给出一个数10234432,那么log10(10234432)=log10(1.0234432*10^7)=log10(1.0234432)+7; log10(1.0234432)就是log10(10234432)的小数部分. log10(1.0234432)=0.010063744 10^0.010063744=1.023443198 那么要取几位就很明显了吧~ 先取对数(对10取),然后得到结果的小数部分bit,pow.. 阅读全文
posted @ 2013-04-21 20:26 VeryBigMan 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 最小公倍数#include #include using namespace std; int gcd(int a,int b) { int r; if(a>a>>b) cout #include using namespace std; bool isprime(int n) { for(int i=2;i>n) { while(n--) { cin>>temp; if(isprime(temp)) sum++; } cout #include int biao[1000001]; void fun() { int i,j,k=1; m... 阅读全文
posted @ 2013-04-21 10:30 VeryBigMan 阅读(133) 评论(0) 推荐(0) 编辑