3350:练60.4 捉迷藏
练 60.4 捉迷藏
第62课 捉迷藏 《小学生C++趣味编程》
C代码:
/*
第62课 捉迷藏
山上有10个山洞。
10-1--3--6---10
1000次
试编一程序,算一算,兔子尼克躲在几号洞里。
*/
#include <stdio.h>
#include <string.h>
int main()
{
int a[11];
int i,cishu;
//第i个洞没有进
for(i=1;i<=10;i++)
a[i]=1;
i=0;
cishu=1;
//cout<<"first i="<<i<<" cishu="<<cishu<<endl;
while(cishu<=100)
{
//cout<<"000i="<<i<<endl;
i=(i+cishu)%10;
if(i==0)
{
//cout<<"i=0 cishu="<<cishu<<endl;
i=10;
}
a[i]=0;
//cout<<"i="<<i<<endl;
cishu++;
//cout<<"-------------------"<<endl;
}
for(i=1;i<=10;i++)
if( a[i] ) printf("%d\n",i);
return 0;
}
/*
作业:
2037:【例5.4】约瑟夫问题
http://ybt.ssoier.cn:8088/problem_show.php?pid=2037
2038:【例5.5】最大数位置
http://ybt.ssoier.cn:8088/problem_show.php?pid=2038
2039:【例5.6】冒泡排序
http://ybt.ssoier.cn:8088/problem_show.php?pid=2039
*/
C++程序:
/*
第62课 捉迷藏
山上有10个山洞。
10-1--3--6---10
1000次
试编一程序,算一算,兔子尼克躲在几号洞里。
*/
#include<iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
bool a[11];
int i,cishu;
//第i个洞没有进
for(i=1;i<=10;i++)
a[i]=true;
i=0;
cishu=1;
//cout<<"first i="<<i<<" cishu="<<cishu<<endl;
while(cishu<=100)
{
//cout<<"000i="<<i<<endl;
i=(i+cishu)%10;
if(i==0)
{
//cout<<"i=0 cishu="<<cishu<<endl;
i=10;
}
a[i]=false;
//cout<<"i="<<i<<endl;
cishu++;
//cout<<"-------------------"<<endl;
}
for(i=1;i<=10;i++)
if( a[i] ) cout<<i<<endl;
return 0;
}
/*
作业:
2037:【例5.4】约瑟夫问题
http://ybt.ssoier.cn:8088/problem_show.php?pid=2037
2038:【例5.5】最大数位置
http://ybt.ssoier.cn:8088/problem_show.php?pid=2038
2039:【例5.6】冒泡排序
http://ybt.ssoier.cn:8088/problem_show.php?pid=2039
*/
#include<bits/stdc++.h>
using namespace std;
int main()
{
bool a[10+5];
int i,cishu;
for(i=1;i<=10;i++)
{
a[i]=true;
}
i=0;
cishu=1;
while( cishu<=1000 )
{
i=(i+cishu)%10;
if( i==0 )
{
i=10;
}
a[i]=false;
cishu++;
}
for(i=1;i<=10;i++)
{
if( a[i] )
{
cout<<i<<endl;
}
}
return 0;
}
《信息学奥赛一本通 编程启蒙C++版》3081-3085(5题)
《信息学奥赛一本通 编程启蒙C++版》3086-3090(5题)
《信息学奥赛一本通 编程启蒙 C++版》 3081-3090(10题)
《信息学奥赛一本通 编程启蒙C++版》3091-3095(5题)
《信息学奥赛一本通 编程启蒙C++版》3096-3100(5题)
《信息学奥赛一本通 编程启蒙 C++版》 3091-3100(10题)