• 历届试题 回文数字


      历届试题 回文数字  
    时间限制: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
    果然暴力就好
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int num[10];
    int n;
    int judge(int x)
    {
    	memset(num,0,sizeof(num));
    	bool f=false;
    	int cnt=0,val=0;
    	int y=x;
    	while(x)
    	{
    		num[cnt++]=x%10;
    		val+=x%10;
    		x/=10;
    	}
    	if(cnt==6&&num[0]==num[5]&&num[1]==num[4]&&num[2]==num[3])
    	f=true;
    	if(cnt==5&&num[0]==num[4]&&num[1]==num[3])
    	f=true;
    	if(f&&val==n)
    	return 1;
    	return 0;
    }
    int main()
    {
    	while(cin>>n)
    	{
    		bool flag=true;
    		for(int i=10000;i<1000000;i++)
    		{
    			if(judge(i))
    			{
    				cout<<i<<endl;
    				flag=false;
    			}
    		}
    		if(flag)
    		cout<<-1<<endl;
    	}
    	return 0;
    }


  • 相关阅读:
    什么是语义化的HTML?为什么要做到语义化?
    js操作中要去注意的一些问题
    js数据类型
    css3新增属性
    css3新增动画
    js事件
    hdoj2602 Bone Collector(DP,01背包)
    hdoj2546 饭卡(DP,01背包)
    poj3624 Charm Bracelet(DP,01背包)
    hdoj1050 Moving Tables(贪心)
  • 原文地址:https://www.cnblogs.com/playboy307/p/5273441.html
Copyright © 2020-2023  润新知