|
呵呵 今天才仔细看了这个帖子,也自己试了试,代码如下,多多指教。- #include <iostream>
- using namespace std;
- int BiJiao(int a[])
- {
- for (int i=0;i<10;i++)
- {
- if(a[i]==a[i+1])
- continue;
- else
- break;
- }
- if (i==9)
- return 1;
- return 0;
- }
- void FenTangGuo(int x[])
- {
- int i=0,j=0;
- int y[10];
- for (;i<10;i++)
- {
- y[i]=x[i];
- }
- do
- {
- for (i=0;i<10;i++)
- {
- cout<< y[i]<<" ";
- }
- for (i=0;i<10;i++)
- {
- if(x[i]%2==1)
- {
- x[i]++;
- y[i]++;
- }
- if (i<=8)
- {
- y[i+1]=y[i+1]/2;
- y[i+1]+=x[i]/2;
- }
- else
- {
- y[0]=y[0]/2;
- y[0]+=x[9]/2;
- }
- }
- cout<<endl;
- for (i=0;i<10;i++)
- {
- x[i]=y[i];
- }
- } while (!BiJiao(y));
- }
- void main()
- {
- int a[10]={10,2,8,22,16,4,10,6,14,20};
- FenTangGuo(a);
- }
复制代码 |
|