先看看題目:
30人在一條船上,超載,需要15人下船,于是人們排成了一隊,排隊的位置即為他們的編號,從第一個開始報數,從1數到9,數到9的人下船,如此回圈往復,直到船上僅剩下15人為止,那么有哪些人下船呢?
1.用C語言實作:
#include<stdio.h>
int c = 0;
int i = 1;
int j = 0;
int a[30] = { 0 };
int b[30] = { 0 };
int main()
{
while (i<=31)
{
if (i == 31)
{
i = 1;
}
else if (c == 15)
{
break;
}
else
{
if (b[i] != 0)
{
i++;
continue;
}
else
{
j++;
if (j != 9)
{
i++;
continue;
}
else
{
b[i] = 1;
a[i] = j;
j = 0;
printf("第%d號下船了\n", i);
i++;
c++;
}
}
}
}
}
運行結果展示:

2.用**C++**實作:
#include<iostream>
using namespace std;
int c = 0;
int i = 1;
int j = 0;
int a[30] = { 0 };
int b[30] = { 0 };
int main()
{
while (i<=31)
{
if (i == 31)
{
i = 1;
}
else if (c == 15)
{
break;
}
else
{
if (b[i] != 0)
{
i++;
continue;
}
else
{
j++;
if (j != 9)
{
i++;
continue;
}
else
{
b[i] = 1;
a[i] = j;
j = 0;
cout<<"第%d號下船了\n"<< i;
i++;
c++;
}
}
}
}
}
運行結果展示:

用python實作
people = {}
for i in range(1,31):
people[i] = 1
check = 0
i = 1
j = 0
while i <= 31:
if i == 31:
i = 1
elif j == 15:
break
else:
if people[i] == 0:
i += 1
continue
else:
check += 1
if check == 9:
people[i] = 0
check = 0
print("{}號下船了!".format(i))
j+=1
else:
i+=1
continue
運行結果:

通過上面示例,我們也看到每種語言各有特色!大家最喜歡哪一種語言呢?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/230640.html
標籤:其他
下一篇:雜談:玩玩24點
