Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
有牛人帮我看下不,提交总是wrong answer#include <iostream> #include <vector> #include <string> using namespace std; void fun(string r, int n){ vector<int> arr; int point = 0; for(int k = r.size() - 1; k >= 0; k--){ if(r[k] != '.') arr.push_back(r[k] - 48); else point = r.size() - k - 1; } int temp = 0, carry = 0, num = n; vector<int> brr = arr; vector<int> crr = arr; while(--num){ for(unsigned int i = 0; i < brr.size(); i++){ for(unsigned int j = 0; j < crr.size(); j++){ temp = brr[i] * crr[j] + carry; if(i == 0) arr[j] = temp % 10; else if(j + i < arr.size()){ temp += arr[i + j]; arr[i + j] = temp % 10; } else arr.push_back(temp % 10); carry = temp / 10; } while(carry){ temp = carry % 10; arr.push_back(temp); carry /= 10; } } crr = arr; } int leng = 0, stats = 0; for(unsigned int x = 0; x < arr.size(); x++){ if(stats == 0 && arr[x] == 0) leng++; else{ stats++; if(x == arr.size() - point * n + leng - 1 && point != 0) cout << arr[arr.size() - stats] << "."; else cout << arr[arr.size() - stats]; } } if(leng == arr.size()) cout << 0; cout << endl; } int main(){ string r; int n; while(cin >> r >> n) fun(r, n); return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator