蓝桥杯 基础练习5-10 C/C++

6.题目链接杨辉三角形
代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,yh[34][34],i,j;
	cin>>n;
	for(i=0;i<n;i++)
	{
		yh[i][0]=1;
		yh[i][i]=1;
		for(j=1;j<i;j++)
		{
			yh[i][j]=yh[i-1][j-1]+yh[i-1][j];
		}
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<=i;j++)
		{
			cout<<yh[i][j];
			if(j<i)
			    cout<<' ';
		}
		cout<<endl;
	}
	return 0;
} 

7.题目链接特殊的数字
代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int i,sum;
	int a,b,c;//每一位数字
	for(i=100;i<1000;i++)
	{
		a=i/100;//百位数 
		b=(i%100)/10;//十位数 
		c=i-a*100-b*10;
		sum=a*a*a+b*b*b+c*c*c;
		if(sum==i)//一个数的各位数字之和等于n且是回文数,则输出 
			cout<<i<<endl;
	} 	
	return 0;
} 

8.题目链接回文数
代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int a,b,c,d;
	for(int i=1000;i<10000;i++)
	{
		a=i/1000;
		b=(i%1000)/100;
		c=(i%100)/10;
		d=i-a*1000-b*100-c*10;
		if(a==d&&b==c)
			cout<<i<<endl;
	} 
	return 0;
}

9.题目链接特殊回文数
代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int i,n,num;
	int sum,reversal;//每位数字之和  回文数 
	while(scanf("%d",&n)!=EOF)
	{
		for(i=10000;i<1000000;i++)
		{
			num=i;
			sum=0,reversal=0;
			while(num>0)
			{
				reversal=reversal*10+num%10;//求解回文数 
				sum+=(num%10);              //数位分离,从低位开始累加 
				num/=10;
			} 
			if(sum==n&&reversal==i)//一个数的各位数字之和等于n且是回文数,则输出 
			   cout<<i<<endl;
		} 
	}
	return 0;
} 

10.题目链接十进制转十六进制
代码

#include<bits/stdc++.h>
#define ll long long int
using namespace std;
char init(int n) 
{
	if (n >= 0&&n <= 9)
		return n + '0';
	if (n >= 10&&n <= 15)
		return n - 10 + 'A';
}
string change(ll n)
 {
	string temp = "";
	while (n >0)
    {
		temp += init(n % 16);
		n /= 16;
	}
	int len = temp.size();
	for (int i = 0; i < len / 2; ++i) 
	{
		swap(temp[i], temp[len - i - 1]);
	}
	return temp;
}
int main() 
{
	ll x;
	while (cin >> x)
    {
		if (x == 0)
			cout << 0 << endl;
		else
			cout <<change(x)<< endl;
	}
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值