【 UVA - 1594 】Ducci Sequence (Ducci序列)

题目链接

代码:

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    
    
	int t,n;
	cin>>t;
	while(t--)
	{
    
    
		int a[20],cnt=0;
		cin>>n;
		for(int i=0;i<n;i++) //初始序列
			cin>>a[i];
		while(++cnt<=1000) 
		{
    
    
			int f=a[0],flag=0; //f先记录下a[0],flag判断是否全为0
			for(int i=0;i<n-1;i++)
			{
    
    
				a[i]=abs(a[i]-a[i+1]);
				if(a[i]) flag=1; //如果有不为0,flag标记1
			}
			a[n-1]=abs(a[n-1]-f); //最后一个值与第一个值f
			if(!flag && !a[n-1]) break; //flag=0前面全为0,最后一个如果也为0,即为全0
		}
		if(cnt<=1000) cout<<"ZERO"<<endl;
		else cout<<"LOOP"<<endl;
	}
	
   	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_45260385/article/details/108182317
今日推荐