蓝桥题目:B-6、杨辉三角,B-7、特殊的数字,B-8、回文数,B-9、特殊的回文数

B-6、杨辉三角

#include <iostream>
using namespace std;

int main() {
	int n;
	cin>>n;
	
	int **tri = new int*[n];
	for(int i=0; i<n ; i++){
		tri[i] = new int[n];
	}
	
	for(int i=0; i<n ;i++){
		tri[i][0]=1;
		tri[i][i]=1;
	}
	
	for(int i=2; i<n ; i++){
		for(int j=1; j<i ; j++){
			tri[i][j] = tri[i-1][j-1]+tri[i-1][j];
		}
	}
	
	for(int i=0; i<n ; i++){
		for(int j=0 ; j<=i ; j++){
			cout<<tri[i][j]<<" ";
		} 
		cout<<endl;
	}
	
	return 0;
}

B-7、特殊的数字

#include <iostream>
using namespace std;

int main() {
	int i,j,k;
	
	for(i = 1; i < 10; i++)
		for(j = 0; j < 10; j++)
			for(k = 0; k < 10; k++)
				if(i*100+j*10+k == i*i*i + j*j*j + k*k*k)
					cout<<i*100+j*10+k<<endl;
	
	return 0;
}

B-8、回文数

#include <iostream>
using namespace std;

int main() {
	int i,j;
	
	for(i = 1; i < 10; i++)
		for(j = 0; j < 10; j++)
			cout<<i<<j<<j<<i<<endl;
	
	return 0;
}

B-9、特殊的回文数

#include <iostream>
#include <list>
using namespace std;

typedef list<int> LISTINT;

int main() {
	int n,i,j,k;
	cin>>n;
	
	LISTINT rst;
	
	for(i = 1; i < 10; i++)
		for(j = 0; j < 10; j++)
			for(k = 0; k < 10; k++){
				if(i*2 + j*2 + k == n)
					rst.push_back(i*1e4+j*1e3+k*100+j*10+i);
				if(i*2 + j*2 + k*2 == n)
					rst.push_back(i*1e5+j*1e4+k*1e3+k*100+j*10+i);
			}
				
	rst.sort();
	LISTINT::iterator p;
	for(p = rst.begin(); p != rst.end() ; ++p){
		cout<<*p<<endl;
	}
	
	return 0;
}

另附判断 回文数 以及 各位之和 的函数

//判断是否回文数 
int judge1(int a, int n) {
	int temp = 0;
	while(a){
		temp = temp*10 + a%10;
		a /= 10;
	}
	
	if(temp == n)
		return 1;
	else
		return 0;
}
//判断各位之和
int judge2(int a, int n) {
	int sum = 0;
	while(a){
		sum += a%10;
		a /= 10;
	}
	
	if(sum == n)
		return 1;
	else
		return 0;
}
发布了31 篇原创文章 · 获赞 2 · 访问量 6204

猜你喜欢

转载自blog.csdn.net/Yuyao_Xu/article/details/104033495