蓝桥杯学习记录8

蓝桥杯学习记录8

一:测试练习

问题描述

求出区间[a,b]中所有整数的质因数分解。

输入格式

输入两个整数a,b。

输出格式

每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例)

解题思路:

重要思想是找到范围内的素数,存储到数组中去。

具体代码:

#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
void su(int n)
{
	for(int i=2;i<=n;i++)
	{
		if(n%i==0)
		{	
			n/=i;
			if(n==1)
			cout<<i<<endl;
			else
			cout<<i<<"*";
			i--;
		}
	}
}
int main(){	
	int m,n;
	cin>>m>>n;
	for(int i=m;i<=n;i++)
	{
		cout<<i<<"=";
		su(i);
	}
	return 0;
}

二:视频练习:

视频名称及链接

https://www.bilibili.com/video/BV1jE411g76D?p=9

常用STL视频讲解

学习心得:

我们常说的STL库,实现了集合,映射表,栈,队列等数据结构和排序,查找等算法,我们可以很方便的使用STL库来减少我们的代码量。

C++中动态数组用vector,直接构建vector语句为:vector vec。这样我们就定义了一个名为vec的存储T类型数据的动态数组,我们可以通过push_back()方法在数组的最后面插入一个新的元素。可以通过size()方法来获取vector的长度,通过 []操作直接访问vector中的元素,可以通过pop_back()方法来删除动态数组的最后一个元素。

利用动态数字可以存储自定义的数据,例如:

struct Student{
   string name;
   int age;
}
int main(){
vector<Student>class1;
Student stu1,stu2;
stu1.name = "xiaohong";
stu1.age=12;
stu2.name = "xiaoming";
stu2.age=14;
class1.push_back(stu1);
class1.push_back(stu2);
return 0;
}
上一篇:绑定对象


下一篇:面对对象编程