zoukankan      html  css  js  c++  java
  • PAT乙级:1056 组合数的和 (15分)

    PAT乙级: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
    

    思路

    全排列历遍一次,加起来。注意由于是两位数,只需要找出一半的组合,就能累加得到总和。

    code

    #include<vector>
    #include<iostream>
    using namespace std;
    int main(){
    	int temp=0,ans=0,n=0;
    	vector<int> array;
    	cin>>n;
    	while(n--){
    		cin>>temp;
    		array.push_back(temp);
    	}
    	for(int i=0;i<array.size();i++){
    		for(int j=i+1;j<array.size();j++){
    			ans+=array[i]*10+array[j];
    			ans+=array[j]*10+array[i];
    		}
    	}
    	cout<<ans;
    	return 0;
    }
    
  • 相关阅读:
    Golang冒泡排序
    排序算法
    【pdf】PHP基础完整
    【day04】PHP
    【day03】php
    【pdf】XHTML——CSS笔记整理
    【pdf】XHTML&CSS
    【day05】css
    【day06】css
    【day04】css
  • 原文地址:https://www.cnblogs.com/cell-coder/p/12563793.html
Copyright © 2011-2022 走看看