这个代码还有那种情况没考虑到
所谓回文数,就是说一个数字从左边读和从右边读的结果是一模一样的,比如12321。现在给出n个一位整数数字,请问:从这n个数字中任选一些数字,能拼成的最长回文数 是多少位?
输入
输入一个整数n(1<=n<=100,表示随后将输入的数字个数)。
然后输入n个一位非负整数数字,即其取值范围为。
输出
输出能拼成的最长回文数的位数。
#include <stdio.h>
int main() {
int a,b= {0};
int n;
scanf("%d",&n);
for(int i=0; i<n; i++) {
scanf("%d",&a);
b]++;
}
int sum=0;
for(int i=0; i<10; i++) {
if(b!=1) {
if(b%2!=0) {
b=b-1;
sum+=b;
} else
sum+=b;
}
}
printf("%d",(sum%2)?sum:sum+1);
} 用了一轮,123321这个回文数是有问题的
最后输出了 7
页:
[1]