因为我免得你不计算strrev的时间,因为这也算作处理字符串的一部分
没有理由你只计算我的处理时间的而不计算你的吧?
/*******************************************************************
** HighlightCodeV3.2 software by yzfy(雨中飞燕) http:// **
*******************************************************************/
#include <stdio.h>
#include <string.h>
void fun(char* a, char* b, char* res)
{
int JinWei=0,i=0,temp_sum;
while (*a&&*b)
{
temp_sum = (*a++ - '0') + (*b++ - '0') + JinWei;
(temp_sum>=10)?(JinWei = 1,res[i++] = temp_sum - 10 + '0'):(JinWei = 0,res[i++] = temp_sum + '0');
}
(*a)?(a=a):(a=b);
while(*a)
{
temp_sum = (*a++ - '0') + JinWei;
(temp_sum>=10)?(JinWei = 1,res[i++] = temp_sum - 10 + '0'):(JinWei = 0,res[i++] = temp_sum + '0');
}
if(JinWei) res[i++] = '1';
res[i] = '\0';
}
char a[205], b[205], res[205];
int Input()
{
static int n=0;
static char p[] = "999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999999999999999999999999999999999999999999999\
999999999999999999999999999999999999999999999999999999999";
if(++n<=1000000)
{
strcpy(a, p);
strcpy(b, p);
return 1;
}
return 0;
}
int main()
{
while(Input())
{
fun(_strrev(a),_strrev(b),res);
//printf("%s\n",_strrev(res));
}
return 0;
}
这样可以不??
(PS. 最后一步的strrev就给你省了,不算你那个的时间,不过假如你还是要算上也可以。。)
[color=white]<
" border="0" />>
[[it] 本帖最后由 爱喝牛奶的猫咪 于 2008-8-6 11:35 编辑 [/it]]