基础练习 特殊回文数

来源:互联网 发布:加油卡充值软件 编辑:程序博客网 时间:2024/06/11 13:57
  基础练习 特殊回文数  时间限制:1.0s  内存限制:512.0MB      问题描述  123321是一个非常特殊的数,它从左边读和从右边读是一样的。  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式  输入一行,包含一个正整数n。输出格式  按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定  1<=n<=54。 
-----------
java解法
package 特殊回文数;import java.util.Scanner;public class Main {    public static void main(String[] args) {        // TODO Auto-generated method stub        Scanner sc=new Scanner(System.in);        int num=sc.nextInt();        int a=0,b=0,c=0;        for(int i=100;i<=999;i++){            a=i/100;            b=(i-100*a)/10;            c=i;            if(2*a+2*b+c==num){                System.out.println(10000*a+1000*b+100*c+10*b+a);            }            if(2*(a+b+c)==num){                System.out.println(100000*a+10000*b+1000*c+100*c+10*b+a);            }                    }    }}

------------

C语言实现

#include int main(){     int num;  scanf("%d",&num):   int a=0,b=0,c=0,i;        for(i=100;i<=999;i++){            a=i/100;            b=(i-100*a)/10;            c=i;            if(2*a+2*b+c==num){               printf("%d%d%d%d%d\n",a,b,c,b,a);            }            if(2*(a+b+c)==num){                printf("%d%d%d%d%d%d\n",a,b,c,c,b,a);            }           } return 0;}


原创粉丝点击