hdu1333/poj1142-Smith Numbers

来源:互联网 发布:内网端口转发工具 编辑:程序博客网 时间:2024/05/16 14:31

http://poj.org/problem?id=1142

http://acm.hdu.edu.cn/showproblem.php?pid=1333

#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<cstdlib>using namespace std;int Sum( int x ){int sum = 0 ;while( x ){sum += x % 10 ;x /= 10 ;}  return sum ;}bool smithnumber( int number ){int i = 2 ; int tempnumber = number ;int tempsum = Sum( number ) ;int sum = 0 ;while( i <= (int)sqrt( ( double )number ) ){if( number % i == 0 ){sum += Sum( i ) ;number /= i ;i = 2 ;}else++i ;}sum += Sum(number) ;if( tempsum == sum && number != tempnumber)return true ;elsereturn false ;}int main(){int n ;while( true ){scanf( "%d" , &n );if( n == 0 )break ;while( true ){if( smithnumber( ++n ) ){printf( "%d\n" , n ) ; break ;}}}return 0 ;}


原创粉丝点击