PAT 乙级 1056. 组合数的和(15)

来源:互联网 发布:linux改变文件权限命令 编辑:程序博客网 时间:2024/06/10 08:35

1056. 组合数的和(15)

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

给定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
最近一直在做题好像速度有提高,这道题思路刚开始不算太明晰,后来在脑子里稍微想了一下就想出来了。
然后就刷刷刷的做出来了,然后一个输入的规律,
如果是一串数字中间没有空格,输入时可以直接用
int a[100];cin>>a;
如果是一串中间有空格的数字,输入到数组中的话,
int a[100];for(i=0;i<n;i++){     cin>>a[i];}
这种的话一般会告诉数字的长度,或者有结束条件。
用cin的话确实减少了格式的限制。
接下来就是这道题的代码了。
#include<iostream>using namespace std;int main(){  int a[20];  int i,j,n,s=0;  cin>>n;  for(i=0;i<n;i++)  {    cin>>a[i];  }  for(i=0;i<n;i++)  {    for(j=0;j<n;j++)    {      if(i!=j)      {        s = s + a[i]*10 + a[j];      }    }  }  cout<<s<<endl;  return 0;}
2017/2/7
0 0
原创粉丝点击