蓝桥杯基础练习--特殊回文数

问题描述

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

输入格式

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

输出格式

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

样例输入

52

样例输出

899998
989989
998899

数据规模和约定

  1<=n<=54。

#include<iostream>
using namespace std;
int main()
{
    int arr[100];
    int n;
    int begin,end;
    int i,j,x,y;
    int num;
    cin>>n;
    if(n!=1&&n!=54)//注意一下边界问题
    {
    for(x=10000;x<999999;x++)
    {

        i=0;
        y=x;
        num=0;
        while(y!=0)
        {
            arr[i++]=y%10;
            y=y/10;
        }
        //arr[i]=y%10;  i的初始化值,i++和++i,以及出循环后最后一个值要不要赋值的问题
        begin=0;
        end=i-1;
        while(begin<end)
        {
            if(arr[begin]==arr[end])
            {
                begin++;
                end--;
            }
            else break;
        }
        if(begin>=end)
        {
            for(j=0;j<i;j++)
            {
                num+=arr[j];
            }
            if(num==n)
            {
                printf("%d\n",x);
            }

        }
    }
}
    return 0;
}

原文地址:https://www.cnblogs.com/curo0119/p/8309438.html

时间: 2024-12-09 05:26:58

蓝桥杯基础练习--特殊回文数的相关文章

蓝桥杯 基础练习 特殊回文数

基础练习 特殊回文数 时间限制:1.0s   内存限制:512.0MB 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . 输入格式 输入一行,包含一个正整数n. 输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行. 样例输入 52 样例输出 899998989989998899 数据规模和约定 1<=n<=54. #include<stdio.h> #include

蓝桥杯- 基础练习:回文数

public class Main { public static void main(String[] args) { for (int i = 1000; i < 10000; i++) { if ((i/1000)==(i%10)&&(i/100%10)==(i/10%10)) { System.out.println(i); } } } } 原文地址:https://www.cnblogs.com/wzqjy/p/8280594.html

基础练习 特殊回文数

  基础练习 特殊回文数   时间限制:1.0s   内存限制:512.0MB 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . 输入格式 输入一行,包含一个正整数n. 输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行. 样例输入 52 样例输出 899998989989998899 数据规模和约定 1<=n<=54. import java.util.*; public c

C++基础算法之 回文数

// 常见算法.cpp : 定义控制台应用程序的入口点. //回文 #include "stdafx.h" #include <iostream> using namespace std; void reverse_num(int& n) { int rem = 0;//用于表示余数 int reverse = 0;//反转后的数字 int temp = 0; temp = n; while (temp !=0) { rem = temp%10; reverse =

蓝桥杯历届试题之回文数字

问题描述 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的.这样的数字叫做:回文数字. 本题要求你找到一些5位或6位的十进制数字.满足如下要求: 该数字的各个数位之和等于输入的整数. 输入格式 一个正整数 n (10<n<100), 表示要求满足的数位和. 输出格式 若干行,每行包含一个满足要求的5位或6位整数. 数字按从小到大的顺序排列. 如果没有满足条件的,输出:-1 样例输入 44 样例输出 99899 499994 589985 5988

蓝桥 基础练习 特殊回文数

问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n .输入格式 输入一行,包含一个正整数n.输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行.样例输入52样例输出899998989989998899数据规模和约定 1<=n<=54. 1 import java.util.Scanner; 2 3 public class Main { 4 5 public static void

蓝桥杯 基础练习 BASIC-25 回形取数

基础练习 回形取数 时间限制:1.0s   内存限制:512.0MB 问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度.一开始位于矩阵左上角,方向向下. 输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列.接下来m行每行n个整数,表示这个矩阵. 输出格式 输出只有一行,共mn个数,为输入矩阵回形取数得到的结果.数之间用一个空格分隔,行末不要有多余的空格. 样例输入 3 31 2 34 5 67 8 9 样例输出 1 4 7 8 9 6 3

[蓝桥杯][基础练习VIP]回形取数

时间限制: 1Sec 内存限制: 128MB 提交: 128 解决: 34 题目描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度.一开始位于矩阵左上角,方向向下. 输入 输入第一行是两个不超过200的正整数m,  n,表示矩阵的行和列.接下来m行每行n个整数,表示这个矩阵. 输出 输出只有一行,共mn个数,为输入矩阵回形取数得到的结果.数之间用一个空格分隔,行末不要有多余的空格. 样例输入 3 3 1 2 3 4 5 6 7 8 9 样例输出 1 4 7 8 9 6

特殊回文数

基础练习 特殊回文数 时间限制:1.0s 内存限制:512.0MB 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . 输入格式 输入一行,包含一个正整数n. 输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行. 样例输入 52 样例输出 899998 989989 998899 数据规模和约定 1<=n<=54. #include<stdio.h> int main