/***分解成质因数(如435234=251*17*17*3*2,华为笔试题)***/
#include<cstdio>
#include<iostream>
void prim(int m, int n)
{
if(m>n)
{
while(m%n != 0) n++;
m /= n;
prim(m, n);
printf("%d*", n);
}
}
void test()
{
int n=33;
while(n<512)
{
printf("%d=", n);
prim(n, 2);
printf("\n-----------------------\n");
n+=47;
}
}
int main(int argc, char* argv[])
{
int n = 435234;
printf("%d=", n);
prim(n, 2);
printf("\n-----------------------\n");
test();
}
/****************
435234=251*17*17*3*2*
-----------------------
33=11*3*
-----------------------
80=5*2*2*2*2*
-----------------------
127=127*
-----------------------
174=29*3*2*
-----------------------
221=17*13*
-----------------------
268=67*2*2*
-----------------------
315=7*5*3*3*
-----------------------
362=181*2*
-----------------------
409=409*
-----------------------
456=19*3*2*2*2*
-----------------------
503=503*
-----------------------
Process returned 0 (0x0) execution time : 1.045 s
Press any key to continue.
*****************/
华为笔试题:将所给数据分解成质因数相乘形式 如435234=251*17*17*3*2
最新推荐文章于 2023-01-10 20:07:51 发布