最小公倍数的最小和(Minimum Sum LCM )
2024-08-30 11:37:50
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
const int maxn = ;
long long f[maxn], ccount; void init(long long n){
long long m = (long long)sqrt(n + 0.5);
ccount = ;
for (long long i = ; i <= m && n > ; i++){
if (n%i == ){
long long fac = ;
while (n%i == && n > ){
fac *= i;
n /= i;
}
f[ccount++] = fac; //fac是处理后的因子
}
}
if (n > )
f[ccount++] = n;
/*
for (int i = 0; i < ccount; i++){
printf("**%lld\n", f[i]);
}
*/
} int main(){
long long n;
int cnt = ;
while (scanf("%lld", &n) && n){
cnt++;
init(n); //将n分解成因子
long long ans = ;
if (!ccount || ccount == ){
ans = n + ;
}
else{
for (int i = ; i < ccount; i++){
ans += f[i];
}
}
printf("Case %d: %lld\n", cnt, ans);
}
//system("pause");
return ;
}
最新文章
- android中工作线程安全
- waterMarkTextBox
- aspxshell下突破无可写可执行目录执行cmd
- 转:RabbitMQ基础知识
- linux-6的yum软件仓库
- Object-relational mapping
- Android 编程下的计时器
- Java 集合的简单实现 (ArrayList &; LinkedList &; Queue &; Stack)
- java进行图片和字符串的互相转换
- linux 配置vim(vimrc)
- Java -- 基于JDK1.8的LinkedList源码分析
- Win强制删除文件windows批处理强行删除文件
- hdu-4180-exgcd
- python 游戏(船只寻宝)
- 每天一个linux命令:traceroute命令
- XML读取(string形式进行读取)
- Activity服务类-4 HistoryService服务类
- HackRF 无线门铃信号录制与重放
- 疯狂Android讲义
- 五步让你玩转CocoaPods