2013javaB组:数的分解问题:把2019分解成3个各不相同的正整数之和,并且要求每个正整数都不包含数字2和4,一共有多少种不同的分解方法?注意:交换3个整数的顺序被视为同一种方法

public class Main{
	public static void main(String[] args) {
		int count=0;
		for (int i = 1; i <1010; i++) {//i一定小于2019的一半
			if(isE(i)) {//i中含2或4
				continue;
			}
			for (int j = i+1; j <2019; j++) {
				if(isE(j)) {//j中含2或4
					continue;
				}
				for (int k =j+1; k <2019; k++) {
					if(isE(k)) {//k中含2或4
						continue;
					}
					if(i+j+k==2019) {
						count++;//符合条件
					}
				}
			}
		}
		System.out.println(count);	
		}

//判断数字中是否包含2和4,因为要多次使用所以可单独定义一个函数调用
	static boolean isE(int i){
		String s=i+"";		//用字符串的indexOf函数可简便判断
		return s.indexOf("2")!=-1||s.indexOf("4")!=-1;
	}
}

猜你喜欢

转载自blog.csdn.net/qq_53950993/article/details/123843513