問題:kiki今年5歲了,已經能夠認識100以內的非負整數,並且並且能夠進行 100 以內的非負整數的加法計算。不過,bobo老師發現kiki在進行大於等於100的正整數的計算時,規則如下:
只保留該數的最後兩位,例如:對kiki來說1234等價於34;
如果計算結果大於等於 100, 那麼kiki也僅保留計算結果的最後兩位,如果此兩位中十位為0,則只保留個位。
例如:45+80 = 25
要求給定非負整數 a和 b,模擬kiki的運算規則計算出 a+b 的值。
第一遍完成的源**是這樣的
public
class
main
while
(a>=
100)
int sum;
sum = a + b;
while
(sum>=
100)
system.out.
println
(sum);}
}
在提交後,成功執行,但是總是感覺不是很好,因為當時實在想不起來怎麼保留後面的數,心理一直冒上來的念頭是取餘消位,取餘消位害人不淺呀。然後去看了一下別人提交的c++**,然後就有了***的思路,感覺效率完全就是兩個級別。
程式設計新手,**複習用,歡迎大佬指正!
public
class
main
system.out.
println
(sum);}
}
不含連續1的非負整數
給定乙個正整數 n,找出小於或等於 n 的非負整數中,其二進位制表示不包含 連續的1 的個數。示例 1 輸入 5 輸出 5 解釋 下面是帶有相應二進位制表示的非負整數 5 0 0 1 1 2 10 3 11 4 100 5 101 其中,只有整數3違反規則 有兩個連續的1 其他5個滿足規則。說明 1...
while do 計算100以內的奇數平方和
計算100以內的奇數平方和 var form1 tform1 i,k,sum integer i,sum為整形數值 k為最後乙個奇數為 implementation proceduretform1.button1click sender tobject begin i 0 sum 0 初始化 i,s...
大數加法(整數的加法
大數加法的原理是利用模擬人計算比較大的數的時候採用的用的一種演算法。實際上就是小學的加法運算,不過是用字元陣列,模擬的運算。思路 1 先定義兩組足夠長的字元陣列,和整形陣列。將數字陣列裡面的元素全部初始化為零。2 然後將輸入的數字字串,轉變為數字,存放在整形陣列內,注意存放時將低位到高位依次存放在陣...