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
还是二维数组喽
#include <iostream>
using namespace std;
int main()
{
int ss=0,i6=0,k=0,j1,j2,N,M,num[10],s[10][10],s3[100],s2[100];//学生人数 判断题数量
cin>>N;
for(int i=0;i<N;i++)
{
cin>>num[i];
}
for(int i2=0;i2<N;i2++)
{
j1=i2;
for(int i3=0;i3<N;i3++)
{
j2=i3;
s[j1][j2]=num[j1]*10+num[j2];
//cout<<s[j1][j2]<<"\n";
s2[k++]=s[j1][j2];
}
}
//cout<<"\n"<<"\n";
for(int i5=0;i5<(N*N);i5++)
{
if(s2[i5]%11!=0)
{
/**/
s3[i6++]=s2[i5];
//cout<<s2[i5]<<"\n";
}
//cout<<s2[i5]<<"\n";
}
for(int i7=0;i7<(N*N-N);i7++)
{
ss+=s3[i7];
}
cout<<ss;
return 0;
}