• 20200907 day2 刷题记录


    代码背诵:扩展gcd,素数筛,重载运算符

    1 同余方程

    洛谷

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    using namespace std;
    void exgcd1(long long a,long long b,long long &x,long long &y){
      if(!b){
        x=1;y=0;return ;
      }
      exgcd1(b,a%b,x,y);
      int temp=x;
      temp=x;
      x=y;
      y=temp-(a/b)*y;
      return;
    }
    long long a,b,d,x,y;
    int main(){
      scanf("%lld %lld",&a,&b);
      exgcd1(a,b,x,y);
      printf("%lld",(x%b+b)%b);
      return 0;
    }
    
    

    2 1003 津津的储蓄计划

    未AC原因:存钱之后没有减去【审题】

    3 1007 阶乘和

    【重载运算符】

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    using namespace std;
    int N;
    struct node{
      int len;
      int num[1005];
      friend node operator *(node a,int b){
        for(int i=1;i<=a.len;i++){
          a.num[i]*=b;
        }
        for(int i=1;i<=a.len;i++){
          if(a.num[i]>=10){
    	a.len=max(a.len,i+1);
    	a.num[i+1]+=a.num[i]/10;
    	a.num[i]%=10;
          }
        }
        return a;
      }
      friend node operator +(node a,node b){
        int lena=max(a.len,b.len);
        for(int i=1;i<=lena;i++){
         a.num[i]+=b.num[i];
        }
        for(int i=1;i<=lena;i++){
          if(a.num[i]>=10){
    	lena=max(lena,i+1);
    	a.num[i+1]+=a.num[i]/10;
    	a.num[i]%=10;
          }
        }
        a.len=lena;
        return a;
      }
      void print(){
        for(int i=len;i>=1;i--){
          printf("%d",num[i]);
        }
      }
      
    }tot,jie;
    int temp;
    int main(){
      scanf("%d",&N);
      tot.len=jie.len=1;
      jie.num[1]=1;
      for(int i=1;i<=N;i++){
        jie=jie*i;
        tot=tot+jie;
      }
      tot.print();
      return 0;
    }
    
    
    要做就做南波万
  • 相关阅读:
    享元模式及php实现
    共享内存
    LCD触屏驱动
    I2C驱动
    C++ & java小结
    使用GlobalKey启动APP
    socketpair通信
    inotify和epoll
    C语言之二叉树
    灯光系统
  • 原文地址:https://www.cnblogs.com/liuziwen0224/p/20200907day2-002.html
Copyright © 2020-2023  润新知