问题描述:神秘图案 外圈 有 10个 按钮,编号为 1-10 ;
破解神秘图案的方法:第一次按第1个按钮; 第二次按第 3个按钮;第三次按第6个按钮 直到按了1000 下,最后没有按的那个按钮。
思路:我们可以定义一个数组 有 10个元素 ;数组中的每一个元素,相当于一个按钮。初始化时,均为0. 表示没有按这个按钮。
然后循环1000次,凡是按过的按钮 标记为 1;最后把没有标识的输出出来。
当走到最后一个按钮,咋样处理跳到第一个按钮。取余可以实现。
#include<iostream>
using namespace std;
/*
问题描述:神秘图案 外圈 有 10个 按钮,编号为 1-10 ;
破解神秘图案的方法:第一次按第1个按钮; 第二次按第 3个按钮;第三次按第6个按钮 直到按了1000 下,最后没有按的那个按钮。
思路:我们可以定义一个数组 有 10个元素 ;数组中的每一个元素,相当于一个按钮。初始化时,均为0. 表示没有按这个按钮。
然后循环1000次,凡是按过的按钮 标记为 1;最后把没有标识的输出出来。
当走到最后一个按钮,咋样处理跳到第一个按钮。取余可以实现。
*/
int main(){
int temp[10] = {0};
int index = 0;
for (int i = 2; i <=1001; i++){
temp[index]=1; // 1 3 6 10
index += i;//0 2 5 9
if (index > 9){ //最后一个按钮,咋样处理跳到第一个按钮。取余可以实现。
index = index % 10;
}
}
for (int i = 0; i < 10; i++){
if (temp[i] == 0){
cout << i + 1 << endl;
}
}
system("pause");
}