• Source
    1. #include <iostream>
    2. using namespace std;
    3.  
    4. int main ()
    5. {
    6. //IN;
    7. int case_i=1;
    8. int n;
    9. while (1)
    10. {
    11. cin>>n;
    12. if (n==0) break;
    13. int arr[22];
    14. for (int i=1; i<=n; i++)
    15. {
    16. cin>>arr[i];
    17. }
    18. //OUT;
    19. int kt0=1;
    20. int d=0;
    21. //KTBD:
    22. for (int k=1; k<=n; k++)
    23. {
    24. if (arr[k]!=arr[1])
    25. {
    26. kt0=0;
    27. break;
    28. }
    29. }
    30. if (kt0==0)
    31. {
    32. int kt1=0;
    33. for (int i=1; i<=1000; i++)
    34. {
    35. d=i;
    36. int tg=arr[1];
    37. for (int k=1; k<=n; k++)
    38. {
    39. if (k!=n)
    40. {
    41. if (arr[k]>arr[k+1]) arr[k]=arr[k]-arr[k+1];
    42. else arr[k]=arr[k+1]-arr[k];
    43. }
    44. else
    45. {
    46. if (arr[k]>tg) arr[k]=arr[k]-tg;
    47. else arr[k]=tg-arr[k];
    48. }
    49. }
    50. int kt2=1;
    51. for (int k=1; k<=n; k++)
    52. {
    53. if (arr[k]!=arr[1])
    54. {
    55. kt2=0;
    56. break;
    57. }
    58. }
    59. if (kt2==1) {
    60. kt1=1;
    61. break;
    62. }
    63. }
    64. if (kt1==1) cout<<"Case "<<case_i<<": "<<d<<" iterations"<<endl;
    65. else cout<<"Case "<<case_i<<": "<<"not attained"<<endl;
    66. } else cout<<"Case "<<case_i<<": "<<"0 iterations"<<endl;
    67. case_i++;
    68. }
    69. return 0;
    70. }