• 【蓝桥杯/基础练习】回文数、特殊的回文数


    特殊的回文数

    问题描述
      123321是一个非常特殊的数,它从左边读和从右边读是一样的。
      输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

    输入格式
      输入一行,包含一个正整数n。

    输出格式
      按从小到大的顺序输出满足条件的整数,每个整数占一行。

    样例输入
    52

    样例输出
    899998
    989989
    998899

    数据规模和约定
      1<=n<=54。

    思路

    可直接从回文数的各位的数字上来考虑,即选取数字组成回文数。

    #include<iostream>
    using namespace std;
    int main()
    {
    	int n;
    	cin>>n;
    	
    	int i,j,k;
    	int flag=0; 
    	 
    	//求有无5位数的回数
    	for(i=1;i<=9;i++) //第一和五位
    	{
    		for(j=0;j<=9;j++)   //第二和四位 
    		{
    			for(k=0;k<=9;k++)  //第三位 
    			{
    				if((i*2+j*2+k)==n)       //默认从小到大顺序
    				{ 
    					cout<<i<<j<<k<<j<<i<<endl;
    				}
    			}
    		}
    	 } 
    	 
    	 //求六位回数 
    	 for(i=1;i<10;i++)   //1 6
    	 {
    	 	for(j=0;j<10;j++)   //2 5
    	 	{
    	 		for(k=0;k<10;k++)  //3 4
    	 		{
    	 			if((i*2+j*2+k*2)==n)
    	 			{
    	 				cout<<i<<j<<k<<k<<j<<i<<endl;
    				 }
    			 }
    		 }
    	 }
    	 return 0;
    }
    

    回文数

    问题描述
      1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。

    输出格式
      按从小到大的顺序输出满足条件的四位十进制数。

    思路

    因仅需求出四位十进制数的回文数,故直接搜索即可

    #include<iostream> 
    using namespace std;
    int main()
    {
    	int n;
    	int i;
    	int x,y,z;
    	for(i=100;i<1000;i++)
    	{
    		n=i;
    		x=n%10;
    		n=n/10;
    		y=n%10;
    		n=n/10;
    		z=n%10;
    		if(i==(x*x*x+y*y*y+z*z*z))
    		{
    			cout<<i<<endl; 
    		}
    	}
    	return 0;
    }
    
  • 相关阅读:
    导出excel 文件
    导入excel
    django 中自定义过滤器
    机器学习&深度学习资料收集
    USACO Section 1.4 Arithmetic Progressions 解题报告
    POJ-1062 昂贵的聘礼 解题报告
    USACO Section 1.3 Ski Course Design 解题报告
    USACO Section 1.3 Wormholes 解题报告
    USACO Section 1.3 Combination Lock 解题报告
    USACO Section 1.3 Prime Cryptarithm 解题报告
  • 原文地址:https://www.cnblogs.com/wwj321/p/12322176.html
Copyright © 2020-2023  润新知