📄 3046462_ac_15ms_164k.cpp
字号:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int sum(int num)
{
int i, ret (0);
char str[10];
itoa(num,str,10);
for(i = 0; str[i]; i++)
{
ret += str[i]-'0';
}
return ret;
}
int prime(int num)
{
int i, t, tt, l, ret;
if(num==2)
return -1;
tt = num;
ret = 0;l = 0;
if(num%2==0)
{
while(num%2==0)
{
num /= 2;
l++;
}
}
ret = l*2;
t = sqrt(num);
for(i = 3; i <= t; i+=2)
{
if(num%i==0)
{
l = 0;
while(num%i==0)
{
l++;
num /= i;
}
ret += l*sum(i);
t = sqrt(num);
}
}
if(num == tt)
return -1;
if(num!=1)
{
ret += sum(num);
}
return ret;
}
int main()
{
int num;
int a, b;
while(scanf("%d",&num)==1,num)
{
while(1)
{
num++;
a = sum(num);
b = prime(num);
if(a==b)
{
printf("%d\n",num);
break;
}
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -