题目:
输入一个数n,计算1到n(包含n)之间有多少个奇数、多少个偶数。
先输出奇数数量,后输出偶数数量。
输入样例1:11
输出样例1:6 5
数据范围:1-10^15
分析:
这个范围要求很大,那么类型肯定得用long类型。看情况计算。暴力肯定能行,就是会超时。
暴力编码:(大概处理10亿还是可以的)
package com.item.action; import java.util.Scanner; /** * * @author hongmuxiangxun 红目香薰 付文龙 老师付 laoshifu * */ public class demo12 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); long l = sc.nextLong(); sc.close(); long countOne=0;//奇数 long countTwo=0;//偶数 for (long i = 1; i <=l; i++) { if(i%2==0) { countTwo++; }else { countOne++; } } //只能处理10亿左右 System.out.println(countOne+" "+countTwo); } }
找规律编码:(处理long值内所有值)
package com.item.action; import java.util.Scanner; /** * * @author hongmuxiangxun 红目香薰 付文龙 老师付 laoshifu * */ public class demo12 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); long l = sc.nextLong(); sc.close(); long countTwo=l/2;//偶数 long countOne=countTwo;//奇数 if(l%2==1) { countOne++; } System.out.println(countOne+" "+countTwo); } }