• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

算法竞赛入门经典(第2版)习题3

mysql 搞代码 4年前 (2022-01-09) 21次浏览 已收录 0个评论

这题第一次提交时报PE,随后修改了2处 1.把循环节长度的输出式由“%4d”改成了“ %d” 2.把循环节长度输出语句末尾的“\n\n”改成“\n,然后加了一个条件输出,判断是否是第一次输出答案,是则直接输出,否则加空行”\n“与前一个答案隔开一行。 然后就开始w

这题第一次提交时报PE,随后修改了2处

1.把循环节长度的输出格式由“%4d”改成了“ %d”

2.把循环节长度输出语句末尾的“\n\n”改成“\n”,然后加了一个条件输出,判断是否是第一次输出答案,是则直接输出,否则加空行”\n“与前一个答案隔开一行。

然后就开始wa,反复修改后发现第二步是多余的,去掉条件输出,把循环节长度输出语句末尾的“\n”改回“\n\n”就可以ac了。

原因在于题目的输出要求就是”Print a blank

本文来源gaodai^.ma#com搞#代!码网

line after every test case.“ 条件输出纯属画蛇添足。

vjudge题号UVALive 5141

//#define LOCAL//#define TESTING#define MAXN 100000#include#includeint yu[MAXN],r[MAXN];int main(){#ifdef LOCAL	freopen("xt3-8.in","r",stdin);#endif	int a,b,T = 1,zhengshu,xiaoshu,temp;	bool first=true;	while(scanf("%d%d",&a,&b)==2)	{				int len = 0,replen=0,repbegin=0;					memset(yu,0,sizeof(yu));		memset(r,0,sizeof(r));#ifdef TESTING				printf("%d %d\n", a, b);		#endif			zhengshu = a/b;		for(int i = 0; i < MAXN; i++)		{			if(i == 0) yu[0] = a%b;			else yu[i] = yu[i-1]*10%b;						r[i] = yu[i]*10/b;			len ++;						for(int j = 0; j < i ; j++)			{								if(yu[j]==yu[i]) 				{					len--;										replen=i-j;						repbegin=j;									i = MAXN;					break;				}							}					}#ifdef TESTING				printf("a=%d b=%d\n", a, b);				printf("%d.",zhengshu);			for(int i = 0; i<len;i++) printf("%d",r[i]);			printf("\n");		for(int i = 0; i<len;i++) printf("%d ", yu[i]);					#endif				first = false;		printf("\n%d/%d = %d.", a, b,zhengshu);			for(int i = 0; i<repbegin+replen;i++)		{			if(i==repbegin)printf("(");			if(i<50)printf("%d",r[i]);			if((i==repbegin+replen-1)&&(i50)			{				printf("...)");				break;			}		} 		printf("\n   %d = number of digits in repeating cycle\n\n",replen);	}	return 0;}

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:算法竞赛入门经典(第2版)习题3

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址