Smith数判定算法
来源:互联网 发布:上海企业网络推广平台 编辑:程序博客网 时间:2024/05/09 20:35
// 08D.cpp : Defines the entry point for the console application.
//244910075@qq.com youngyuan521@gmail.com
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int _tmain(int argc, _TCHAR* argv[])
{
int prime(int n);
int sum(int n);
int countprime(int n);
int i,num,countsample=0,count=0,array[100];
scanf_s("%d",&num);
while(num)
{
array[countsample++]=num;
scanf_s("%d",&num);
}
for(i=0;i<countsample;i++)
{
if(countprime(array[i])==sum(array[i]))
printf("yes\n");
else
printf("no\n");
}
system("pause");
return 0;
}
//prime:判断一个数是否为素数
int prime(int n)
{
int p,i;
p=(int)sqrt((float)n);
for(i=2;i<=p;i++)
{
if(n%i==0)
{
return 0;
}
}
return 1;
}
//sum:求一个整数各位数之和
int sum(int n)
{
int i,count=0;
for(i=1;n/i!=0;i=10*i)
{
count+=n%(10*i)/i;
}
return count;
}
//countprime: 求一个整数的质因数各位之和
int countprime(int n)
{
int i,count=0;
if(prime(n))
return sum(n);
for(i=2;i<=n;i++)
{
if(prime(i)&&n%i==0)
{
count+=sum(i);
n/=i;
i=1;
}
}
return count;
}
//244910075@qq.com youngyuan521@gmail.com
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int _tmain(int argc, _TCHAR* argv[])
{
int prime(int n);
int sum(int n);
int countprime(int n);
int i,num,countsample=0,count=0,array[100];
scanf_s("%d",&num);
while(num)
{
array[countsample++]=num;
scanf_s("%d",&num);
}
for(i=0;i<countsample;i++)
{
if(countprime(array[i])==sum(array[i]))
printf("yes\n");
else
printf("no\n");
}
system("pause");
return 0;
}
//prime:判断一个数是否为素数
int prime(int n)
{
int p,i;
p=(int)sqrt((float)n);
for(i=2;i<=p;i++)
{
if(n%i==0)
{
return 0;
}
}
return 1;
}
//sum:求一个整数各位数之和
int sum(int n)
{
int i,count=0;
for(i=1;n/i!=0;i=10*i)
{
count+=n%(10*i)/i;
}
return count;
}
//countprime: 求一个整数的质因数各位之和
int countprime(int n)
{
int i,count=0;
if(prime(n))
return sum(n);
for(i=2;i<=n;i++)
{
if(prime(i)&&n%i==0)
{
count+=sum(i);
n/=i;
i=1;
}
}
return count;
}
- Smith数判定算法
- Smith数
- smith 数
- Smith(史密斯)数的求法
- UVa Problem 10042 Smith Numbers (Smith 数)
- Smith Numbers(Poj1142)(质因数分解+素数判定)
- UVALive2203 UVa10042 Smith Numbers【质因数分解+素数判定+数位之和】
- 输出400以内的smith数
- 华为机试—Smith数
- Needleman-Wunsch 算法和Smith-Waterman算法
- Smith-waterman算法 openmp+mpi实现
- 简单的Smith Waterman算法实现
- 回文数的判定
- 回文数判定
- 回文数的判定
- 回文数判定
- 完美数的判定
- 算法之路二:刘汝佳算法竞赛入门经典 组合数和素数判定
- 指针数组和数组指针的区别,非常有用!
- C++虚函数及虚函数表解析
- MySQL列转字符串
- Android Resource处理流程分析-- R.java文件中资源ID的含义
- Linux设备模型
- Smith数判定算法
- nagios的安装及配置实现网络监控
- ODE的buggy例程分析
- 敏捷方法之极限编程(XP)和 Scrum区别
- n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始
- Cgroup
- Mysql检查列是否存在并新增、修改、删除列
- MFC控件(4):List Box
- Kamailio安装指南