蓝桥杯训练——2.28
发布时间
阅读量:
阅读量
基础练习 特殊回文数
问题描述
这个数特别有意思的是它左右对称。
对于给定的正整数n,请编程找出所有符合左右对称且各位数字之和为n的五位及六位十进制数。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
52
样例输出
899998
989989
998899
数据规模和约定
1<=n<=54。
思路:
由于数值较小,在计算前两位的可能性时可采取快速计算的方法;随后依次计算五位数的排列情况并接着计算六位数的排列情况;最终结果即按从小到大的顺序排列完成
源代码:
#include <stdio.h>
int main()
{
int n;
int i, j, k, l, r;
scanf("%d", &n);
for(i = 1; i <= 9; i++)
{
for(j = 0; j <= 9; j++)
{
l = n - (i * 2 + j * 2);
if(l >= 0 && l<=9)
{
printf("%d%d%d%d%d\n", i, j, l, j, i);
}
}
}
for(i = 1; i <= 9; i++)
{
for(j = 0; j <= 9; j++)
{
l = n - (i * 2 + j * 2);
r = l % 2;
if(r == 0 && l / 2 >= 0 && l / 2<=9)
{
printf("%d%d%d%d%d%d\n",i , j, l / 2, l / 2, j, i);
}
}
}
return 0;
}
视频学习:
视频链接:https://www.bilibili.com/video/BV1ty4y117go/?p=1
练习:
题目描述
共有 n(n ≤ 1,000)位评委对选手进行打分(其中 n 是小于等于 1,000 的整数),每位选手的评分范围是从 5 分到 15 分。根据评分规则:每个参赛者的最终评分为其所有有效评分的算术平均值(四舍五入保留两位小数)。具体计算方法是:首先将所有评委给出的有效评分去极端值(即去除一个最高有效评分和一个最低有效评分),然后将剩余的有效评分相加后除以该数量即为该选手的最终得分。现要求编写程序实现这一功能:输入评委人数及其对应的分数列表,请计算并输出该选手最终得分
输入格式
无
输出格式
无
输入输出样例
输入 #1
5
9 5 6 8 9
输出 #1
7.67
源代码:
#include<bits/stdc++.h>
using namespace std;
int n,a[10001];
double ans;
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+n+1);
for(int i=2;i<=n-1;i++) ans+=a[i];
printf("%.2lf",ans/(n-2));
return 0;
}
全部评论 (0)
还没有任何评论哟~
