保研机试算法训练个人记录笔记(五)

目录

模拟题示例

冒泡排序

二维数组

字符数组

局部变量


模拟题示例

签到题:输入一个数字,假如是偶数就将该偶数除2,假如是奇数就将该奇数*3+1,直到数字为1就停止,问在变换过程中的最大数字是多少,变换到1一共花了几步?

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
    long long n; // 使用long long以支持大数字
    cout << "请输入一个正整数: ";
    cin >> n;

    if(n <= 0) {
        cout << "请输入一个正整数。" << std::endl;
        return 1;
    }

    int steps = 0;
    long long maxNumber = n;

    while (n != 1) {
        if (n % 2 == 0) {
            n /= 2;
        } else {
            n = 3 * n + 1; // 此处修正为正确的操作
        }
        if (n > maxNumber) {
            maxNumber = n;
        }
        steps++;
    }

    cout << "变换过程中的最大数字是: " << maxNumber << endl;
    cout << "变换到1共花了 " << steps << " 步。" << endl;
    return 0;

}

冒泡排序

cpp 复制代码
#include <iostream>

void swap(int &a, int &b){
    int temp;
    temp = a;
    a=b;
    b=temp;

}
int main(){
    int a[7]={2,9,4,7,5,8,1};
    for(int i =0;i<7-1;i++){  //循环n-1次,7是数组元素个数,"< 7-1"是代表循环0,1,2,3,4,5(共计6次)
        for(int j =0;j<6-i;j++){ //冒泡排序每一次循环,可以确定最后一个数,那么就截止到上一次确定的数之前,这里的最大位不应该包含最后一个,
            //所以这里是截止到"<6-i",实际上是"<=6-i-1",然后用j+1来表示数组最后一位,比如i=0,a[j+1]==a[6-0-1+1]=a[6]
            if (a[j]>a[j+1]){
                swap(a[j],a[j+1]);
            }
        }
    }
    for(int i =0;i<6;i++){
        printf("%d",a[i]);
    }
        return 0;
    }

二维数组

cpp 复制代码
#include <iostream>
int main(){
    int a[5][6]={};//5行六列
    for(int i =0;i<5;i++){
        for(int j =0;j<6;j++){
            printf("%d \t",a[i][j]);

        }
        printf("\n");
    }
    return 0;
}

字符数组

cpp 复制代码
#include <iostream>
int main(){
    char a[11] ="hello cpp!";//字符占10个,还有一个end结束符,共计11
    for(int i=0;i<10;i++){
        printf("%c",a[i]);

    }
    return 0;
}

局部变量

cpp 复制代码
#include <iostream>
void change(int &x){
    x = x+1;
}
int main(){
    int b =10;
    change(b);
    printf("%d",b);
    return 0;
}

输出是 11

cpp 复制代码
#include <iostream>
void change(int x){
    x = x+1;
}
int main(){
    int b =10;
    change(b);
    printf("%d",b);
    return 0;
}

输出是10

相关推荐
一隅论数智3 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
倒头就睡的小比特3 天前
算法竞赛C++常用的STL
c++·算法
weilx12343 天前
C++笔记-文件IO-<fcntl.h>
c++
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
猎头南楼3 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
Smileyqp沛沛3 天前
前端?C++ ?较大差异基础罗列
c++·基础·前端转c++
C语言小火车3 天前
C/C++ 为什么需要编译器?
开发语言·c++
深圳老胡3 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
旖旎夜光3 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark3 天前
大规模并行计算中的负载均衡算法研究4
算法