日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

高精

發布時間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高精 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天模擬

考了一堆高精題

看到題目的一瞬間:awsl 物理意義上的

qaqqqqaqaqaqaqaqaqaqqq

然后強行剛題

首先是高精度加法

要先把短的補位0

然后。。沒了

#include<cstdio>
#include<iostream>
#define sev en
using namespace std;string s,t;string add(string str1,string str2) {string str;int len1 = str1.length();int len2 = str2.length();if(len1 < len2) {for(int i = 1; i <= len2-len1; i++)str1 = "0" + str1;} else {for(int i = 1; i <= len1 - len2; i++)str2 = "0" + str2;}len1 = str1.length();int cf = 0;int temp;for(int i = len1 - 1; i >= 0; i--) {temp = str1[i] - '0' + str2[i] - '0' + cf;cf=temp / 10;temp %= 10;str = char(temp + '0') + str;}if(cf != 0)  str = char(cf + '0') + str;return str;
}int main() {cin >> s >> t;cout << add(s,t);return 0;
}    
+

然后是高精度減法

先判斷一下先輸的數小還是后輸的數小

提前輸出負號

再用大的減小的

最后別忘了清空前導零

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define sev en
using namespace std; 
const int maxn = 10010; int len1, len2; 
int a[maxn], b[maxn]; 
string s1, s2;bool compare(string a, string b){if (a.size() < b.size()) return true;  if (a.size() > b.size()) return false;for (int i = 0; i < a.size(); ++i){if (a[i] > b[i]) return false;    if (b[i] > a[i]) return true; }return false;
}int main(){cin >> s1;         cin >> s2; if (compare(s1, s2)){swap(s1, s2);  printf("-"); }len1 = s1.size(); len2 = s2.size(); for (int i = 0; i < len1; ++i) a[len1 - i] = s1[i] - '0'; for (int i = 0; i < len2; ++i) b[len2 - i] = s2[i] - '0'; for (int i = 1; i <= len1; ++i){a[i] -= b[i];            if (a[i] < 0){                           a[i + 1]--;            a[i] += 10; }}while (a[len1] == 0 && len1 > 1) len1--; for (int i = len1; i >= 1; --i)          printf("%d", a[i]); return 0; 
}
-

然后是高精乘

記憶猶新,NOIP前考了一次,寫跪了

是學長幫忙改的。。。整個改掉了emmmm

這次重寫心理陰影巨大

寫了好久www

但挺簡單的。。。沒啥可說

#include<cstdio>
#include<cstring>
#define sev en
using namespace std;
#define N 100010char x[N],y[N];
int a[N],b[N],c[N << 1];int main() {
//    freopen("t.in","r",stdin);
//    freopen("t.out","w",stdout);scanf("%s",x);scanf("%s",y);a[0] = strlen(x),b[0] = strlen(y);for(int i = 1; i <= a[0]; i++)a[i] = x[a[0] - i] - '0';for(int i = 1; i <= b[0]; i++)b[i] = y[b[0] - i] - '0';for(int i = 1; i <= a[0]; i++)for(int j = 1; j <= b[0]; j++)c[i + j - 1] += a[i] * b[j];int len = a[0] + b[0];for(int i = 1; i <= len; i++)if(c[i] > 9) {c[i + 1] += c[i] / 10;c[i] %= 10;}while(c[len] == 0 && len > 1)len--;for(int i = len; i >= 1; i--)printf("%d",c[i]);return 0;
}
x

最后還有個階乘

代碼沒有

等我到時候找找看吧www

轉載于:https://www.cnblogs.com/sevenyuanluo/p/10706076.html

總結

以上是生活随笔為你收集整理的高精的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。