数组

数组长度计算

int arr[10];
long long vec[10];
int main() {
	cout <<  sizeof(arr) / sizeof(arr[0]) << endl;
	cout <<  sizeof(vec) / sizeof(vec[0]) << endl;
	
	return 0;
}

案例

开关灯

#include <bits/stdc++.h>
using namespace std;
int light[5000+5] = {0};
// 1 打开, 0 为关闭
int main(){
    int n ,m;
    cin >> n >> m;
    // 第一个人全部关闭
    for(int i = 1 ; i <= n;i++){
        light[i] = 0;
    }
    // 从第 2 个人开始都做反操作
    // arr[i] = ! arr[i]
    for(int j = 2 ; j <= m ; j++){
        for(int i = 1 ; i <= n;i++){
            if(i % j == 0) {
                light[ i] = not light[i];
            } 
        }
    }
    bool isFirst = true;
    for(int i = 1 ; i <= n;i++){
        if(light[i] == 0){
            // 通过状态控制,第一个数不输出 ','号
            if(isFirst){
                isFirst = false;
            }else{
                cout << ",";
            }
            cout << i;
        };
    }
    return 0;
}

isFirst 控制,号的输出

任意数字按位提取

int n = 342678;
	
	while(n > 0){
		cout << n % 10 << endl;
		n = n / 10;
	}

sort 排序

0 条评论

目前还没有评论...