牛牛在研究他自己獨創的平衡數,平衡數的定義是:將乙個數分成左右兩部分,分別成為兩個新的數。 左右部分必須滿足以下兩點:先考慮0的個數,如果只有乙個0 ,怎麼分都不平衡1,左邊和右邊至少存在一位。 2,左邊的數每一位相乘如果等於右邊的數每一位相乘,則這個數稱為平衡數。
例如:1221這個數,分成12和21的話,1*2=2*1,則稱1221為平衡數,再例如:1236這個數,可以分成123和1*2*3=6,所以1236也是平衡數。而1234無論怎樣分也不滿足平衡數。
輸入描述:輸入乙個正整數(int範圍內)。
輸出描述:如果該數是平衡數,輸出 「yes」, 否則輸出 「no」。
輸入例子:1221 1234
輸出例子:yes no
大於乙個0則可以平衡
沒有0時,遍歷陣列判斷平衡即可
#include
#include
#include
#include
#include
using
namespace
std;
//#define debug_
void func(string str)
}if (zeronum==1)
else
if (zeronum >1)
right /= vec[0];
left = left*vec[0];
for (auto i = 1; i < vec.size();++i)
}cout
<< "no"
<< endl;
}int main()
平衡數演算法實現
給定乙個整數值,若能有整數前半部分乘積與剩餘部分乘積相等,則為平衡數。例如 輸入1236 輸出true 分析 123 6 輸入1221 輸出true 分析 12 21 輸入1000 輸出true 分析 10 00 100 0 首先將整數拆分成整數陣列n1。定義兩個變數p,q,分別代表陣列第乙個下標值...
演算法題 醜數
2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第1500個醜數。所謂乙個數m是另乙個數n的因子,是指n能被m整除,也就是n m 0。根據醜數的定義,醜數只能被2 3和5整除。也就是說如果乙個數如果...
演算法題 取數
題目 首先給出n個數字a1,a2,a 3,a na1,a2,a3,an a1,a2,a3,an 然後給你m mm個回合,每回合你可以從中選擇乙個數字取走它,剩下來的每個數字aiai ai都要遞減乙個值bibi bi,即a 1a1 a1減掉b 1b1 b1,a 2a2 a2減掉b 2b2 b2,如此重...