1056. 组合数的和(15)

来源:互联网 发布:mac系统更新失败 编辑:程序博客网 时间:2024/05/02 10:18

1056. 组合数的和(15)


原题

给定N个非0的个位数字,用其中任意2个数字都可以组合成1个2位的数字。要求所有可能组合出来的2位数字的和。例如给定2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。

输入格式:输入在一行中先给出N(1<N<10),随后是N个不同的非0个位数字。数字间以空格分隔。

输出格式:输出所有可能组合出来的2位数字的和。

输入样例
3 2 8 5
输出样例
330

时间限制 内存限制 代码长度限制 判题程序 作者 400 ms 65536 kB 8000 B Standard CHEN, Yue

初步分析

先把数据储存在数组中,然后使用双重循环计算所组成二位数的和就行了。
注意:二位数中没有重复数字,所以要排除i=j的情况。

代码实现

#include <stdio.h>int main(){    int a[11],N,i,sum=0,j;    scanf("%d",&N);    for(i=1;i<=N;i++)    {        scanf("%d",&a[i]);    }    for(i=1;i<=N;i++)    {        for(j=1;j<=N;j++)        {            if(a[j]!=a[i])            sum=sum+a[i]*10+a[j];        }    }    printf("%d",sum);    return 0;}

冷静分析

这又是一道送分题。

题目来源

本题为PAT乙级题库1056题
网址:https://www.patest.cn/contests/pat-b-practise/1056

END

原创粉丝点击