大資料的乘法

來源:互聯網
上載者:User

標籤:

//大資料相乘,具體的演算法思想見c

#define _CRT_SECURE_NO_WARNINGS //vs2013去掉安全檢查#include <stdlib.h>#include <string.h>#include <iostream>using namespace std;class big_data{public: void init_string() { cout << "str1 = "; cin >> str1; cout << endl; cout << "str2 = "; cin >> str2; cout << endl; } char* big_data_multi () { int length_str1 = strlen(str1); int length_str2 = strlen(str2); int *pstr3 = (int*)malloc(sizeof(int)*(length_str1+length_str2)); memset(pstr3, 0, sizeof(int)*(length_str1+length_str2));//一定要初始化,否則亂碼 for(int i = 0; i < length_str2; i++)//迴圈累乘相加 { for(int j = 0; j < length_str1; j++) { pstr3[i + j + 1] += (str1[j] - ‘0‘) * (str2[i] - ‘0‘); } } for (int i = length_str1 + length_str2 - 1; i >= 0; i--) { if(pstr3[i] >= 10) { pstr3[i - 1] += pstr3[i] / 10; pstr3[i] = pstr3[i]%10; } } int i = 0; while (pstr3[i] == 0) { i++; } char *pstr4 = (char*)malloc(sizeof(char)*(length_str1 + length_str2 + 1)); int j = 0; for(; j < length_str1+length_str2 && i < length_str1+length_str2; j++,i++) { pstr4[j] = pstr3[i] + ‘0‘; } pstr4[j] = ‘\0‘; return pstr4; }private: char str1[100]; char str2[100];};int main(){ big_data bigdata1; while(1) { cout << endl; bigdata1.init_string(); cout << "相乘的結果是 :" << bigdata1.big_data_multi() << endl; } system("pause");}

 

大資料的乘法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.