http://hihocoder.com/contest/offers65/problems
题目1 : 真正的素数
-
- 只能是2,3,5,7的组合,
-
- 包括2的只有2,23;包括5的只有5,53
-
- 3,7组合也只能交替来,不然33,77就是11 的倍数
所以有限个,穷举一下
- 3,7组合也只能交替来,不然33,77就是11 的倍数
package l651;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
int[]a=new int[]{2,3,5,7,23,37,53,73,373};
if(n>9) System.out.println(-1);
else System.out.println(a[n-1]);
}
}
题目2 : 最长子段
Map+running sum的套路,这里先要预先处理一下
package l652;
import java.util.Scanner;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt(),s=sc.nextInt();
int[]a=new int[n];
for(int i=0;im1=new TreeMap();
TreeMapm2=new TreeMap();
long sum=0;
m1.put((long)0, -1);
for(int i=0;i
题目4 : 解方程
解的范围有限,数越大,平方和加起来越无法超过数本身
所以可以直接穷举
#include
#include
#include