一个循环、一个变量打印乘法口诀
生活随笔
收集整理的這篇文章主要介紹了
一个循环、一个变量打印乘法口诀
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前幾天面試的時(shí)候遇到了一個(gè)問(wèn)題,當(dāng)時(shí)也沒(méi)啥思路,而且時(shí)間比較緊,所以就空下了。回來(lái)后一直耿耿于懷,于是研究了一下。
問(wèn)題是這樣的:只用一個(gè)循環(huán)和一個(gè)變量打印出乘法口訣。
想了一段時(shí)間感覺(jué)還是沒(méi)啥思路,上網(wǎng)查了查,網(wǎng)上倒是沒(méi)找到一個(gè)循環(huán)的乘法口訣,但是一個(gè)帖子的回答讓我一下有了思路。
帖子里是用兩個(gè)循環(huán)一個(gè)變量來(lái)實(shí)現(xiàn)的,是將這個(gè)變量前4位與后4位分別當(dāng)成兩個(gè)數(shù)。
于是我的實(shí)現(xiàn)方法如下:
for(int a = 0x11; a <= 0x99; ){System.out.print((a & 0xf) + "*" + (a >> 4) + "=" + (a & 0xf) * (a >> 4));if((a & 0xf) >= (a >> 4)){a = (((a >> 4) + 1) << 4) + 0x01;System.out.print("\n");}else{a++;System.out.print("\t");}}?其實(shí)也可以不需要這種移位運(yùn)算,只需要將一個(gè)倆位數(shù)拆分即可,如下:
for(int a = 11; a <= 99; ){ System.out.print((a % 10) + "*" + (a / 10) + "=" + (a % 10) * (a / 10)); if((a % 10) >= (a / 10)){ a = (a / 10 + 1) * 10 + 1; System.out.print("\n"); } else{ a++; System.out.print("\t"); } }?
總結(jié)
以上是生活随笔為你收集整理的一个循环、一个变量打印乘法口诀的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android中layout、drawa
- 下一篇: Android模拟位置出错Illegal