Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <bits/stdc++.h>
- #include <string>
- using namespace std;
- string multiply(string num1, string num2){
- int len1 = num1.size();
- int len2 = num2.size();
- vector<int> result(len1 + len2, 0);
- int i_n1 = 0;
- int i_n2 = 0;
- for(int i=len1-1; i>=0; i--){
- int carry = 0;
- int n1 = num1[i] - '0';
- i_n2 = 0;
- for(int j=len2-1; j>=0; j--){
- int n2 = num2[j] - '0';
- int sum = n1*n2 + result[i_n1 + i_n2] + carry;
- carry = sum/10;
- result[i_n1 + i_n2] = sum % 10;
- i_n2++;
- }
- if (carry > 0)
- result[i_n1 + i_n2] += carry;
- i_n1++;
- }
- int i = result.size() - 1;
- while (i>=0 && result[i] == 0)
- i--;
- string str_result = "";
- while (i >= 0)
- str_result += std::to_string(result[i--]);
- return str_result;
- }
- int main()
- {
- int a,b;
- cout<< "Podaj liczbe:"<<endl;
- cin>>a; //50
- b=a-1; //49
- string temp = to_string(a);
- while(b>=1){
- string str1=temp;
- string str2=to_string(b);
- temp=multiply(str1, str2);
- b--;
- }
- //tu wypisze tylko wynik
- cout<<temp;
- //czesc kodu odpowiedzialna za wypisywanie od tylu po jednej cyfrze
- /* string result;
- int leng=temp.length();
- for(int i=leng-1; i>=0;i--){
- result = temp[i] + result;
- cout<<result<<endl;
- }
- */
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement