这道题我wa了4次!!!RE了一次,直到看到了RE我才看到了希望,果然,把数组开大一点就过了,小白
在uva上的题好像叙述都不太精确,从来都不说数据最长多少,以至于只能瞎开数组,白白RE了一次,wa的原因是因
为数据类型错了,应该开long long的,我竟然忘了商也可以是大数的,,,唉,还是不够细心,不够认真啊。
贴代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define ll long long
char a[3000];
char b[2];
ll mul[3000];
int main()
{
ll sum,n,mod;
int i,j,s,flag,flag1;
while(scanf("%s%s%lld",a,b,&n)!=EOF)
{
s=flag=0;
sum=0;
int len= strlen(a);
for(i=0; i<len; i++)
{
while(sum<n)
{
if(i>=len)
{
flag=1;
break;
}
sum=sum*10+a[i]-'0';
if(sum<n)
mul[i]=0;
i++;
}
i--;
if(flag)
{
mod=sum;
break;
}
else
{
mod=sum%n;
mul[i]=sum/n;
sum=mod;
}
}
if(b[0]=='/')
{
flag1=0;
for(i=0;i<len;i++)
{
if(flag1==0&&mul[i]==0)
continue;
printf("%d",mul[i]);
flag1=1;
}
if(flag1==0)
printf("0");
printf("\n");
}
else if(b[0]=='%')
printf("%lld\n",mod);
}
return 0;
}
今天六一儿童节,给a_jie买了好多好吃的
![大笑](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)
![鄙视](http://static.blog.csdn.net/xheditor/xheditor_emot/default/despise.gif)
习,一直都是令我头疼的难题!!!慢慢教育吧,我都不想再说了。。。