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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SDNU 1280.就问你慌不慌(高精度)

發布時間:2024/4/15 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SDNU 1280.就问你慌不慌(高精度) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

求N進制的高精度加法

Input

第一行輸入N(2≤N≤10)

第二行兩個數X Y(長度均≤100)

Output

輸出N進制下X和Y的和

Sample Input

5 2 4

Sample Output

11 #include <cstdio> #include <iostream> #include <cmath> #include <string> #include <cstring> #include <algorithm> #include <queue> #include <vector> #include <map> using namespace std;#define ll long long #define eps 1e-9const int inf = 0x3f3f3f3f; const int mod = 1e9+7;char ads[10000005]; char s1[10005], s2[10005]; int n;void additive(char* a, char* b) {memset(ads, 0, sizeof(ads));int len1, len2;len1 = strlen(a);len2 = strlen(b);if(len1 < len2)///保持len1是最長的 {for(int i = 0; i<len2; i++)swap(a[i], b[i]);swap(len1, len2);}reverse(a, a + len1);reverse(b, b + len2);int t = 0, i;for(i = 0; i < len2; i++)///一遍求和一邊求進制 {ads[i] = ((a[i] - '0') + (b[i] - '0') + t) % n + '0';t = (a[i] + b[i] - '0' - '0' + t) / n;}for(int k = i; k < len1; k++)///處理較大的那個數沒有加的那部分 {ads[k] = (a[k] + t - '0') % n + '0';t = (a[k] + t - '0') / n;}if(t != 0)printf("%d", t);for(int m = len1 - 1; m >= 0; m--)printf("%c", ads[m]);printf("\n"); }int main() {scanf("%d", &n);cin>>s1>>s2;additive(s1, s2);return 0; }

?

轉載于:https://www.cnblogs.com/RootVount/p/11340424.html

總結

以上是生活随笔為你收集整理的SDNU 1280.就问你慌不慌(高精度)的全部內容,希望文章能夠幫你解決所遇到的問題。

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