蓝杯五

一、特殊回文数问题描述 

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

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

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

样例输入  52

样例输出 899998

                989989

                998899

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

#include

int main(){

    int n;   

scanf("%d", &n);   

//while(scanf("%d", &n)!=EOF){     

  int p = 10001;     

int a, b, c, d, e, f;     

  while(p < 100000){       

  a = p/10000;//万位           

  b = p%10000/1000;//千位         

  c = p%1000/100;//百位           

d = p%100/10;//十位           

e = p%10;//个位           

if(a+b+c+d+e == n && a == e && b == d)                printf("%d\n", p);           

p++;            }       

int q = 100001;       

while(q < 1000000){           

a = q/100000;//十万位           

b = q%100000/10000;//万位           

c = q%10000/1000;//千位           

d = q%1000/100;//百位         

e = q%100/10;//十位           

f = q%10;//个位           

if(a+b+c+d+e+f == n && a == f && b == e && c == d)               

printf("%d\n", q);           

q++;        }       

//}   

return 0;

}

二、闰年

问题描述给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:1. 年份是4的倍数而不是100的倍数;

2. 年份是400的倍数。其他的年份都不是闰年。

输入格式  输入包含一个整数y,表示当前的年份。

输出格式  输出一行,如果给定的年份是闰年,则输出yes,否则输出no。说明:当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格按照试题中给定的大小写,写错大小写将不得分。

样例输入  2013

样例输出  no

样例输入  2016

样例输出  yes

数据规模与约定

1990<=y<=2050

#include

int main()

{ int  year;

scanf("%d",&year);

if(year%4 == 0 && year%10 != 0 || year%400 == 0)

{ printf("yes"); }

else

{ printf("no"); }

return 0;

}

三、排序

问题描述

  编写一个程序,输入3个整数,然后程序将对这三个整数按照从大到小进行排列。

  输入格式:输入只有一行,即三个整数,中间用空格隔开。

  输出格式:输出只有一行,即排序后的结果。

  输入输出样例

样例输入

9 2 30

样例输出

30 9 2

#include

int  main()

{

int  a,b,c,t;

scanf("%d  %d  %d",&a,&b,&c);

if(a

{

t=a;

a=b;

b=t;

}

if(a

{

t=a;

a=c;

c=t;

}

if(b

{

t=b;

b=c;

c=t;

}

printf("%d %d %d",a,b,c);

return  0;

}

四、水仙花数

问题描述

  判断给定的三位数是否 水仙花 数。所谓 水仙花 数是指其值等于它本身 每位数字立方和的数。例 153 就是一个 水仙花 数。 153=13+53+33

输入格式

  一个整数。

输出格式

  是水仙花数,输出"YES",否则输出"NO"(不包括引号)

样例输入

123

样例输出

NO

数据规模和约定

  一个三位的整数,否则输出"NO"

#include

int  main()

{

int  num,a,b,c;

scanf("%d",&num);

a=num/100;

b=num/10%10;

c=num%10;

if(num==a*a*a+b*b*b+c*c*c)

  printf("YES");

    else

  printf("NO");

return  0;

}


蓝杯五_第1张图片
图片发自App

蓝杯五_第2张图片
图片发自App

蓝杯五_第3张图片
图片发自App

蓝杯五_第4张图片
图片发自App

蓝杯五_第5张图片
图片发自App

蓝杯五_第6张图片
图片发自App


你可能感兴趣的:(蓝杯五)