题目链接:Ducci Sequence UVA - 1594
题目:对于一个 n n 元组,可以对于每个数求出它和下一个数的差的绝对值,得到一个新的 n n 元组,重复这个过程,得到Ducci序列,判断其最终会变成0,还是会循环。。。。
思路:可以直接循环模;或者利用STL。。。。
代码:
①循环暴力
#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<vector>
#include<iomanip>
#include<set>
#include<sstream>
#define ll long long
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while(t--){
int n;
scanf("%d",&n);
int z1[20],z2[20];
for(int i=0;i<n;i++) cin>>z1[i];
int cnt=1005;
while(cnt--){
int flag=0;
for(int i=0;i<n;i++){
if(z1[i]!=0) flag=1;
}
if(flag==0){
cout<<"ZERO"<<endl;
break;
}
else {
for(int i=0;i<n;i++){
if(i!=n-1)
z2[i]=abs(z1[i+1]-z1[i]);
else z2[i]=abs(z1[i]-z1[0]);
}
for(int i=0;i<n;i++) z1[i]=z2[i];
}
}
if(cnt==-1) cout<<"LOOP"<<endl;
}
return 0;
}