Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

写了个Ugly的高精度模拟,不明白WR在哪...求助各位

Posted by Bter at 2006-04-02 15:23:07 on Problem 1504
#include <iostream.h>
#include <string.h>

void main() 
{
	char	s1[250], s2[250]; 
	int		n, i, p, len, len1, len2; 

	cin >> n; 
	cin.get(); 
	while (n --) {
		cin >> s1 >> s2; 
		len1 = strlen(s1); 
		len2 = strlen(s2);
		i = len1 - 1; 
		while (i > 0 && s1[i] == '0') { s1[i] = '\0'; i --; }
		i = len2 - 1; 
		while (i > 0 && s2[i] == '0') { s2[i] = '\0'; i --; }
		if (strlen(s1) > strlen(s2)) {
			len = strlen(s1); 
			for (i = 0; i < strlen(s2); i ++) {
				s1[i] += s2[i] - '0'; 
				if (s1[i] - '0' > 9) {
					s1[i + 1] ++; 
					s1[i] = s1[i] - 10; 
				}
			}
			if (s1[len] != 0) { s1[len] = '1'; len ++; }
			p = 0; 
			while (s1[p] == '0' && p < len - 1) p ++; 
			for (i = p; i < len; i ++) cout << s1[i]; 		
			cout << endl; 
		}
		else {
			len = strlen(s2); 
			for (i = 0; i < strlen(s1); i ++) {
				s2[i] += s1[i] - '0'; 
				if (s2[i] - '0' > 9) {
					s2[i + 1] ++; 
					s2[i] = s2[i] - 10; 
				}
			}
			if (s2[len] != 0) { s2[len] = '1'; len ++; } 
			p = 0; 
			while (s2[p] == '0' && p < len - 1) p ++; 
			for (i = p; i < len; i ++) cout << s2[i]; 		
			cout << endl; 
		}
	}	
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator