每日一题(小白)暴力娱乐篇29

每日一题(小白)暴力娱乐篇29_第1张图片

题目比较简单,主要是判断条件这块,一定要注意在奇数的位置和偶数的位置标记,若奇数位为奇数偶数位为偶数才能计数加一,否则都是跳过。

①接收数据n

②循环n次,拆解n,每次拆解记录ans++

③拆解n为若干次x,若x取余2等于1并且ans%2==1(用相反的方法也可以)若x取余2等于0并且ans%2==0,则记录count++

④输出count

代码如下

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
	    int n=scan.nextInt();
	    int count=0;
	    for (int i = 1; i < n; i++) {
			if (px1(i)) {
				count++;
			}
		}
	    
	    System.out.println(count);
		scan.close();
	}
	

	public static boolean px1(int s) {
		int ans=1;
		while (s!=0) {
			int x=s%10;
			if (ans%2==1) {
				if (x%2==0) {
					return false;
				}
			}else {
				if (x%2==1) {
					return false;
			}
			}
			s/=10;
		    ans++;
		}
		return true;
	}

如果会的话自己练一下两个判断条件的交换,如果不会就看看代码边看边学

你可能感兴趣的:(娱乐,算法,数据结构,java)