栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++入门基础函数(小学生应会)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++入门基础函数(小学生应会)

前言

        以下是一些C++入门基础函数,涉及循环,递归,模拟,深搜等内容,学会这些,小学生比赛拿一等奖将会很稳!

正文

函数如下:

0 阶乘(太简单了,可以不算)

int jc(int n)
{
    int ans=1;
    for(int i=2;i<=n;i++) ans*=i;
    return ans;
}

1普通判素数函数

bool pzs(int n)
{
	if(n<2)	return false;
	for(int i=2;i*i<=n;i++)
		if(n%i==0)	return false;
	return true;
}

2求最大公因数函数(gcd)

int gcd(int a,int b)
{return (b==0?a:gcd(b,a%b));}

3基于gcd求最小公倍数函数(lcm)

int lcm(int a,int b)
{return a*b/gcd(a,b);}

4冒泡排序

void bubble_sort(int n,int &a[])
{
	for(int i=1;i<=n;i++)
	{
		bool f=0;
		for(int j=1;ja[j+1]) swap(a[j],a[j+1]),f=1;} 
		if(f==0)	return;
	} 
}

5猴子选大王(约瑟夫问题)

void josephus(int &a[],int n,int m)
{
	int s=0,t=n;
	while(t>0)
	{
		for(int i=0;i 

6 进制转换(string)

string szhe2(long long n,long long p)
{
	string s="";
	if(n==0)  return "0";
	while(n)
	{
		long long g=n%p;
		if(g<10) s=(char)(g+48)+s;
		else  s=(char)(g+55)+s;
		n=n/p;
	}
	return s;
}
long long szhe1(string s,int p)
{
	long long n=0,m=s.size();
	for(int i=0;i 

7 整数与字符串的互转

long long stll(string s)
{
	long long ans=0;
	for(int i=0;i 

 8 汉诺塔(hanoi)

void hanoi(int n,char a,char b,char c)
{
   if(n>0)
   {
   		hanoi(n-1,a,c,b);
   		ans++;
    	if(ans==m)  cout< 

9 斐波那契数列

void fibonacci(int &a,int &b,int &c,int &d)
{
   if(d==n)
   {  
     cout< 

10 筛选找素数函数

bool check[2000002];
void prime(int n)
{
	check[1]=1;
	for(int i=2;i*i<=n;i++)
	{
		if(!check[i])
		{for(int j=i*i;j<=n;j+=i)  check[j]=1;}
	}
}

11 01背包

int bag(int t,int n,int w[],int v[])
{
    int f[10001];
    for(int i=1;i<=n;i++)
    {
    	for(int j=t;j>=w[i];j--)
    	  if(f[j-w[i]]+v[i]>f[j])  f[j]=f[j-w[i]]+v[i];
    }
    return f[t];
}

 12 生成全排列

long long a[10001],u[10001],b[10001],n;
void dy(long long n)
{
	for(long long i=1;i<=n;i++)  cout<<' '<n)  dy(n);
   else 
   {
   	  for(long long i=1;i<=n;i++)
   	  {
   	  	if(u[b[i]]==0)
   	  	{
   	  	  u[b[i]]=1;
   	  	  a[d]=i;
   	  	  dg(d+1);
   	  	  u[b[i]]=0;
   	    }
	  }
   }	
}

13 回文数

bool hws(int n)
{
	int ans=0,m=n;
	while(m>0)
	{
		ans=ans*10+m%10;
		m/=10;
	}
	return ans==n;
}

 以下就是C++入门基础函数,希望这篇文章能够在某些方面帮到你!

附 表格

函数知识点难度
阶乘单循环半颗星
判素数(普通)单循环一颗星
最大公因数简单递归两颗星
最小公倍数调用函数一颗星
冒泡排序嵌套循环,数组两点五颗星
约瑟夫问题模拟三颗星
进制转换字符串三颗星
整数字符串互转循环,字符串两颗星
汉诺塔递归初步三颗星
斐波那契数列递归三颗星
筛选找素数模拟三点五颗星
01背包简单动态规划五颗星
生成全排列深搜五颗星
回文数循环一颗星

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/989601.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号