poj 3070
来源:互联网 发布:原唱伴唱切换软件 编辑:程序博客网 时间:2024/05/16 03:58
链接:http://poj.org/problem?id=3070
一道很经典的快速幂入门题,本来不想写到博客上来的,可这几天刚好学习面向对象就换种方式从写了一下,所以就贴上来供自己以后看。感觉自己代码姿势不太正确,我先看看,以后改改。
#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cstdlib>using namespace std;class matrix{public: matrix() { arr[0][0] = 1; arr[0][1] = 1; arr[1][0] = 1; arr[1][1] = 0; } void qingling() { memset(arr,0,sizeof(arr)); } matrix qw(int b); friend matrix operator*(matrix &a , matrix &b); int arr[2][2];};matrix operator*(matrix &a , matrix &b){ matrix ans; ans.qingling(); int i,j,k; for(i=0; i<2; i++) for(j=0; j<2; j++) for(k=0; k<2; k++) ans.arr[i][j] = (ans.arr[i][j] + (a.arr[i][k]*b.arr[k][j])%10000)%10000; return ans;}matrix matrix::qw(int b){ matrix ans , num; ans.arr[0][1] = 0; ans.arr[1][0] = 0; ans.arr[1][1] = 1; while(b > 0) { if(b&1) ans = ans*num; num = num*num; b /=2; } return ans;}int main(){ int n; while(cin>>n && n!= -1) { matrix num; cout<<num.qw(n).arr[0][1]<<endl; } return 0;}
0 0
- POJ 3070
- poj 3070
- POJ 3070
- poj 3070
- poj 3070
- POJ 3070
- poj 3070
- poj 3070
- (3070)POJ
- poj 3070
- poj 3070
- POJ 3070
- poj 3070
- poj 3070
- POJ 3070
- 【POJ】3070
- poj 3070 矩阵乘法
- POJ 3070 Fibonacci
- SpringMVC原理&MVC设计思想
- iOS中.a与.framework库的区别
- android intent 传递list或者对象
- 智能路由器火爆 成开启智能家居时代的钥匙
- Tomcat安装配置图解
- poj 3070
- MYSQL语句大全
- Tomcat下使用Log4j 接管 catalina.out 日志文件生成方式
- 图形分割算法<==>最小割<==>最大流<==>网络流问题
- Java8 新特性之四---------重复注解与注解应用拓宽
- 时间转换
- Android开发学习之路--NDK、JNI之初体验
- Java基础(2) 装箱与拆箱
- http报头参数详解