69,371
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
const int length=10;
bool IsOddNum(int num)
{
if(num % 2 == 1)
return true;
else
return false;
}
bool IsEqual(const int a[],int length)
{
bool temp;
for(int i=0;i<length-1;i++)
{
if(a[i]==a[i+1])
temp =true;
else
temp = false;
if(!temp)
break;
}
return temp;
}
void main()
{
int num[]={10,2,8,22,16,4,10,6,14,20};
int tempNum[10];
int index=0;
for(;;)
{
index++;
for(int i=0;i<length; i++)
{
if(IsOddNum(num[i]))
num[i] +=1;
num[i] /=2;
tempNum[i]=num[i];
}
for(int i=0;i<length;i++)
{
if(i==0)
num[i]+=tempNum[length-1];
else
num[i]+=tempNum[i-1];
}
if(IsEqual(num,length))
break;
}
for(int i=0;i<length;i++)
{
printf("%d ",num[i]);
}
printf("%d",index);
}
#include <stdio.h>
int main(void)
{
int student[10] = { 10, 2, 8, 22, 16, 4, 10, 6, 14, 20 };
int tem[10] = { 0 };
int time = 0;
int i, flag = 1;
while(1)
{
++time;
printf("No %02d : ", time);
for(i=0; i<10; ++i)
{
printf("%02d ", student[i]);
}
putchar('\n');
for(i=0; i<9; ++i)
{
if(student[i]==student[i+1])
flag = 0;
else
{
flag = 1;
break;
}
}
if(flag)
{
for(i=0; i<10; ++i)
{
tem[i] = student[i] / 2;
}
for(i=0; i<10; ++i)
{
student[i] = tem[i];
student[i] += tem[(i+9)%10];
}
for(i=0; i<10; ++i)
{
if(student[i]%2)
student[i] += 1;
}
}
else
break;
}
return 0;
}