问题
中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。
它的前几项是:0、2、4、8、12、18、24、32、40、50 …
其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。
打印出了大衍数列的前 100 项。
2014年第五届蓝桥杯JavaB组——大衍数列
解析
题目中已经给出规律:
对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。
我们可以通过i除以2取余的方式来判断是否为奇数还是偶数
代码
public static void main(String[] args) {
for (int i = 0; i < 100; i++) {
if(i%2==0) //填空
System.out.println(i*i/2);
else
System.out.println((i*i-1)/2);
}
}
优化
我们知道判断除了十进制%取余的方式,我们还可以通过二进制与1的方式来判断奇偶数,代码如下
public static void main(String[] args) {
for (int i = 0; i < 100; i++) {
if((i&1)==0) //填空
System.out.println(i*i/2);
else
System.out.println((i*i-1)/2);
}
}