📄 因子个数~.cpp
字号:
/*
统计出因子2的个数因子5的个数
以及任何数"尾数"是1 3 7 9各自出现的个数
尾数定义n = k*2^p1*5^p2 则k的尾数为n的尾数,p1,p2为最大可能整数
*/
#include <iostream>
using namespace std;
int get25(int n, int base)
{
int c = 0;
while(n > 0)
{
c += n/base;
n /= base;
}
return c;
}
int get379_div5(int n, int base)
{
if(n == 0)
return 0;
return n/10 + (n%10 >= base) + get379_div5(n/5 ,base);
}
int get379_div2(int n, int base)
{
if(n == 0)
return 0;
return n/10 + (n%10 >= base) + get379_div2(n/2, base) + get379_div5(n/5 ,base);
}
int get379(int n, int base)
{
if(n == 0)
return 0;
return n/10 + (n%10 >= base) + get379_div2(n/2, base) + get379_div5(n/5, base);
}
int power2[] = {6, 2, 4, 8};
int power3[] = {1, 3, 9, 7};
int power7[] = {1, 7, 9, 3};
int power9[] = {1, 9};
int main()
{
int n, m;
while(cin >> n)
{
cout<<get25(n, 2)<<ends<<get25(n, 5)<<ends<<get379(n, 3)
<<ends<<get379(n, 7)<<ends<<get379(n, 9)<<endl;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -