zoukankan      html  css  js  c++  java
  • 蓝桥杯

    回文数字  
    时间限制:1.0s   内存限制:256.0MB
        
    问题描写叙述
      观察数字:12321。123321 都有一个共同的特征,不管从左到右读还是从右向左读,都是同样的。这种数字叫做:回文数字。



      本题要求你找到一些5位或6位的十进制数字。满足例如以下要求:
      该数字的各个数位之和等于输入的整数。

    输入格式
      一个正整数 n (10<n<100), 表示要求满足的数位和。
    输出格式
      若干行。每行包括一个满足要求的5位或6位整数。


      数字按从小到大的顺序排列。
      假设没有满足条件的,输出:-1

    例子输入
    44
    例子输出
    99899
    499994
    589985
    598895
    679976
    688886
    697796
    769967
    778877
    787787
    796697
    859958
    868868
    877778
    886688
    895598
    949949
    958859
    967769
    976679
    985589
    994499
    例子输入
    60
    例子输出
    -1


    思路:先把回文的序列的表打好,算出来正好就1800。所以我数组开的2000

    然后从前到后扫一遍就可以,满足条件就输出。


    AC代码:

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    
    const int maxn = 2000;
    int palin[maxn], num = 0;
    
    int is_palin(int n)    //推断是否是回文数 
    {
    	if(n<100000)
    	{
    		if( (n/10000 == n%10) && (n/1000%10 == n/10%10) )
    			return 1;
    	}
    	else
    	{
    		if((n/100000 == n%10) && (n/10000%10 == n/10%10) && (n/1000%10 == n/100%10))
    			return 1;
    	}
    	return 0;
    }
    
    void init()     //回文数打表 
    {
    	for(int i=10000; i<=999999; i++)
    	{
    		if(is_palin(i)) palin[num++] = i;
    	} 
    }
    
    int fun(int n)     //推断是否符合条件 
    {
    	int t = 0, m = n;
    	while(m)
    	{
    		t += m%10;
    		m /= 10;
    	}
    	return t;
    }
    
    int main()
    {
    	init();
    	int n;
    	while(scanf("%d", &n) != EOF)
    	{
    		if(n < 5 || n>54) { printf("-1
    "); continue; }
    		for(int i=0; i<num; i++)
    		{
    			if(fun(palin[i]) == n) printf("%d
    ", palin[i]);
    		}
    	}
    	return 0;
    } 




  • 相关阅读:
    细菌觅食优化算法
    windows文件名编码格式测试结果及猜想
    Exception
    maven创建web项目注意事项
    Majaro安装卡在Fixing hardcoded icons原因
    gnome更改ibus输入法候选词字体大小
    MariaDB用zip包安装
    JAVA获取时间戳
    自增不连续解决方案
    WEB项目目录结构
  • 原文地址:https://www.cnblogs.com/jhcelue/p/6922907.html
Copyright © 2011-2022 走看看