POJ

2016.8.17下午

今天本想练习数据结构线性表的,结果这题没有解决,占了大半时间。本以为是简单题,居然要用到数论。

写了个错误代码,主观以为第13行的count1不会很大,其实不然。一开始RE,看了测试数据c可以为0.后来WA就是这个问题,

测试数据:http://contest.felk.cvut.cz/04prg/solved/#c。

在线文本比较工具找不一样的数据

错误代码:

#include<stdio.h>
#include<math.h>
int main(){
	freopen("test.out","w",stdout); 
	int count,a,b,c,k,bite,flag;
	while(scanf("%d%d%d%d",&a,&b,&c,&k)&&(a!=0||b!=0||c!=0||k!=0)){
	count=0;
	flag=0;
	bite=pow(2,k);
	
    int count1=0;
    while(!flag&&count1<100000){
    	count1++;
    	if(c==0&&(b-a)!=0){
    		break;
		}
		else if(c==0&&(b-a)==0){
			flag=1;
			break;
		}
    	if((b-a)%c==0&&(b-a)/c>=0){
    	count=(b-a)/c;
        flag=1;
		}
		else
		b+=bite;
	}
    if(flag)   
	printf("%d
",count);
	else
	printf("FOREVER
");
	}
	return 0;
}

  

原文地址:https://www.cnblogs.com/lsj2020/p/5813322.html