【题目描述】
n名同学在操场上面向老师排队,现将其顺序编号为1,2,3,……n,然后让编号为2的倍数的同学向后转(不能再向前转),再让编号为5的倍数的同学向后转(不能再向前转),问最后面向老师的都有哪些同学?
【输入】
文件中只有一行,包含1个整数n(其中1≤n≤50)
【输出】
文件中只有一行,即所有面向老师的同学的编号。
【输入样例】15
【输出样例】1 3 7 9 11 13
python代码:
num = int(input("请输入:"))
arr=[]
arr.append(0)
for i in range(1,num+1):
arr.append(1)
for j in range(1,num+1):
if j%2==0:
arr[j]=1-arr[j]
if j%5==0:
if arr[j]!=0:
arr[j]=1-arr[j]
for k in range(1,num+1):
if arr[k]==1:
print(str(k)+" ",end='')
c++代码:
#include<iostream>
using namespace std;
int main(){
int num;
cin>>num;
int arr[num+1];
for(int i=1;i<=num;i++){
arr[i] = 1;
}
for(int j=1;j<=num;j++){
if(j%2==0){
arr[j]=1-arr[j];
}
if(j%5==0){
if(arr[j]!=0){
arr[j]=1-arr[j];
}
}
}
for(int k=1;k<=num;k++){
if(arr[k]==1){
cout<<k<<" ";
}
}
return 0;
}