求子集元素之和(洛谷P2415题题解,Java语言描述)
生活随笔
收集整理的這篇文章主要介紹了
求子集元素之和(洛谷P2415题题解,Java语言描述)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目要求
P2415題目鏈接
分析
這題我覺得……當個數學題做就好了嘛。
- 有一個數N的情況:result = 1 * N
- 有兩個數N1、N2的情況:result = 2 * (N1+N2)
- 有三個數N1、N2、N3的情況:result = 4 * (N1+N2+N3)
- ……
其實不難推的,比如說三個數的情況:
N1, N2, N3, N1N2, N1N3, N2N3, N1N2N3
……
找規律嘛……
定義一下sum = sum(N1, N2, …, Nn)
其實結果就是result = sum * 2n-1
于是只需算一下數就好啦!
說明:java.math.BigInteger里有一個靜態屬性是TWO,可直接用,但洛谷不識別,所以我就改成new BigInteger(“2”)了。
AC代碼(Java語言描述)
import java.math.BigInteger; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String[] array = scanner.nextLine().trim().split("\\s+");long sum = 0;for (String s : array) {sum += Long.parseLong(s);}System.out.println(new BigInteger("2").pow(array.length-1).multiply(new BigInteger(Long.toString(sum))));scanner.close();} }總結
以上是生活随笔為你收集整理的求子集元素之和(洛谷P2415题题解,Java语言描述)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java】Gourmet咖啡系统
- 下一篇: 用面向对象解决问题(洛谷P1093题题解