首页 > 其他分享 >高精度

高精度

时间:2024-09-21 11:24:39浏览次数:9  
标签:10 高精度 int -- cy l2 l1

回来第一件事先复习高精

  • 高精加:
  • 按位相加 依次进位 倒序输出
 1 #include <bits/stdc++.h>
 2 #define rep(i,a,b) for(int i = a;i <= b;i ++)
 3 #define rrep(i,a,b) for(int i = b;i >= a;i --);
 4 using namespace std;
 5 const int M = 1e5 + 1;
 6 string a,b;
 7 int c[700];
 8 void p(){
 9     int l1 = a.size();
10     int l2 = b.size();
11     int l = max(l1,l2);
12     rep(i,0,l - 1){
13         if((l1) != 0) c[i] += a[l1 - 1] - '0',l1 --;
14         if((l2) != 0) c[i] += b[l2 - 1] - '0',l2 --;
15         if(c[i] >= 10) c[i] -= 10,c[i + 1] += 1;
16     }
17     if(c[l]) l ++;
18     for(int i = l - 1;i >= 0;i --) cout << c[i];
19     return;
20 }
21 signed main(){
22     cin >> a;
23     cin >> b;
24     p();
25     return 0;
26 }
  • 高精乘:
  • 按位相乘 每次进位 倒序输出
  • 高乘高 高乘低 皆如此
 1 #include <bits/stdc++.h>
 2 #define rep(i,a,b) for(int i = a;i <= b;i ++)
 3 #define rrep(i,a,b) for(int i = b;i >= a;i --)
 4 using namespace std;
 5 const int M = 1e5 + 1;
 6 string s1,s2;
 7 int c[40000000];  
 8 int a[2001],b[2001];
 9 void p(){
10     int l1 = s1.size();
11     int l2 = s2.size();
12     int l = max(l1,l2);
13     int t = 0;
14     rrep(i,0,l1 - 1) a[++ t] = s1[i] - '0';
15     t = 0;
16     rrep(i,0,l2 - 1) b[++ t] = s2[i] - '0';
17     int cy = 0;
18     rep(i,1,l1){
19         rep(j,1,l2){
20             c[i + j - 1] += a[i] * b[j] + cy;
21             if(c[i + j - 1] >= 10) cy = c[i + j - 1] / 10,c[i + j - 1] %= 10;
22             else cy = 0;
23         }
24         if(cy) c[i + l2] += cy,cy = 0;
25     }
26     int tag = l1 + l2 + 1;
27     while(!c[tag] && tag >0) tag --;
28     rrep(i,1,tag) cout << c[i];
29     return;
30 }
31 signed main(){
32     cin >> s1;
33     cin >> s2;
34     if(s1[0] == '0' || s2[0] == '0'){
35         cout << 0 << endl;
36         return 0;
37     }
38     p();
39     return 0;
40 }

PS:需要纠正一个态度,以前看到高阶的有难度的算法,会觉得暂时用不上就不学了。现在不行,现在看见新东西就得学,否则永远无法真正提升自己。

标签:10,高精度,int,--,cy,l2,l1
From: https://www.cnblogs.com/DinoCrab/p/18423747

相关文章

  • KTH7823——16 位高精度低延时霍尔磁编码器可编程 ABZ 和 PWM 输出模式角度传感器
    KTH7823是一款高精度绝对角度霍尔传感器芯片,最高16位分辨率绝对角度输出,可实现在轴向和离轴场合下的无接触式磁场角度测量。不论转速范围在0-120000rpm之间,KTH7823都能快速准确地输出角度信息,适用于需要精准角度测量和转速控制的各个领域。KTH7823......
  • c++高精度求平方根(保留整数)
    #include<iostream>#include<cstring>usingnamespacestd;constintSIZE=200;structhugeint{ intlen,num[SIZE];};hugeinttimes(hugeinta,hugeintb){ inti,j; hugeintans; memset(ans.num,0,sizeof(ans.num)); for(i=1;i<=......
  • 高精度监测土体压应力变化量的最佳选择 GEO系列振弦式土压力计
    高精度监测土体压应力变化量的最佳选择GEO系列振弦式土压力计GEO系列振弦式土压力计广泛适用于长期测量土石坝、防波堤、护岸、码头岸壁、高层建筑、管道基础、桥墩、挡础所受土体的压应力,是了解土体对土中构筑物压应力变化量的有效监测设备。同时,它还可以同步测量埋设点的温度......
  • Java中的定时任务优化:从Cron表达式到高精度调度的实现
    Java中的定时任务优化:从Cron表达式到高精度调度的实现大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java应用开发中,定时任务是一种常见需求,尤其在后台服务中,定时执行任务是实现业务逻辑的关键部分。本文将探讨Java中的定时任务优化,从使用Cron表达......
  • 一种基于YOLOv8的高精度PCB缺陷检测算法(原创自研)
      ......
  • 单身狗进化(高精度篇)
    算法与数据结构实验题1.10单身狗进化★实验任务这一天晚上,弯通又做梦了,并且梦到了一个帅气的男孩纸!这个男孩给了弯通一个数字n。男孩离开前告诉弯通,n!(n的阶乘)的位数就是距离弯通脱单的天数。矜(ji)持(ke)的弯通想知道自己还有多久能脱单,快写个程序帮助他!★数据输入输入第一......
  • PCB线路板高精度印刷应用
    在当代电子设备的构造中,印刷电路板(PCB)扮演着至关重要的角色,作为承载并集成各类电子元器件的信息平台。PCB板在电子领域内享有广泛的应用范围,其质量优劣直接关联到最终产品的性能表现。随着电子科技的不断进步与电子制造业的蓬勃发展,贴片元件的尺寸日趋微型化,安装密度显著提升,这......
  • 人脸静态活体检测(高精度版)
    人脸静态活体检测(高精度版)API对接说明本文将介绍人脸静态活体检测(高精度版)API对接说明,它可用于对用户上传的静态图片进行防翻拍活体检测,以判断是否是翻拍图片。接下来介绍下人脸静态活体检测(高精度版)API的对接说明。注册试用链接注册试用链接申请流程要使用API......
  • LZC3106A国产高性能、高精度谐振模式双端控制器,专用LLC半桥谐振电路的控制应用
    综合描述LZC3106是一款高性能、高精度谐振模式双端控制器,专用于LLC半桥谐振电路的控制应用。它提供50%的互补占空比:高压侧开关和低压侧开关在完全相同的时间内以180°反相方式导通/关断。控制器通过调节系统工作频率来实现对输出电压的调制和稳定.LZC3106......
  • C++高精度乘法
    #include<iostream>#include<string>#include<cstring>usingnamespacestd;intmain(){stringstr1,str2;cin>>str1>>str2; //确定字符串长度 intlen1=str1.length(); intlen2=str2.length(); //确认积......