HOJ 1015 Nearly prime numbers
生活随笔
收集整理的這篇文章主要介紹了
HOJ 1015 Nearly prime numbers
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
代碼 //Nearly?prime?number?is?an?integer?positive?number?for?which?it?is?possible?
//to?find?such?primes?P1?and?P2?that?given?number?is?equal?to?P1*P2.
#include?<stdio.h>
#include?<stdlib.h>
#include?<math.h>
//decide?n?whither?is?a?nearly?prime?number?or?not,
//is?then?return?true,or?return?false.
bool?isNPN(int?n);
//decide?n?whither?is?a?prime?number?or?not,
//is?then?return?true,or?return?false.
bool?isPrime(int?n);
int?main()
{
????int?input[50000];????
????int?num;
????
????//input
????scanf("%d",?&num);
????for?(int?i=0;?i<num;?i++)
????{
????????scanf("%d",?&input[i]);
????}
????//start?resolve?the?problem?here
????for?(int?i=0;?i<num;?i++)
????{
????????if?(isNPN(input[i]))
????????{
????????????printf("Yes\n");
????????}
????????else
????????{
????????????printf("No\n");
????????}
????}
????return?0;
}
bool?isNPN(int?n)
{
????int?m?=?(int)sqrt((double)n)?+?1;
????if?(n%2==0?&&?isPrime(n/2))
????{
????????return?true;
????}
????for?(int?i=3;?i<m;?i+=2)
????{
????????if?(n%i?==?0?&&?isPrime(i))
????????{
????????????if?(isPrime(n/i))
????????????{
????????????????return?true;
????????????}
????????}
????}
????return?false;
}
bool?isPrime(int?n)
{
????int?m?=?(int)sqrt((double)n)?+?1;
????
????if?(n?==?2)
????{
????????return?true;
????}
????if?(n%2?==?0)
????{
????????return?false;
????}
????for(int?i=3;?i<m;?i+=2)
????{
????????if?(n%i==0)
????????{
????????????return?false;
????????}
????}
????return?true;
}
//to?find?such?primes?P1?and?P2?that?given?number?is?equal?to?P1*P2.
#include?<stdio.h>
#include?<stdlib.h>
#include?<math.h>
//decide?n?whither?is?a?nearly?prime?number?or?not,
//is?then?return?true,or?return?false.
bool?isNPN(int?n);
//decide?n?whither?is?a?prime?number?or?not,
//is?then?return?true,or?return?false.
bool?isPrime(int?n);
int?main()
{
????int?input[50000];????
????int?num;
????
????//input
????scanf("%d",?&num);
????for?(int?i=0;?i<num;?i++)
????{
????????scanf("%d",?&input[i]);
????}
????//start?resolve?the?problem?here
????for?(int?i=0;?i<num;?i++)
????{
????????if?(isNPN(input[i]))
????????{
????????????printf("Yes\n");
????????}
????????else
????????{
????????????printf("No\n");
????????}
????}
????return?0;
}
bool?isNPN(int?n)
{
????int?m?=?(int)sqrt((double)n)?+?1;
????if?(n%2==0?&&?isPrime(n/2))
????{
????????return?true;
????}
????for?(int?i=3;?i<m;?i+=2)
????{
????????if?(n%i?==?0?&&?isPrime(i))
????????{
????????????if?(isPrime(n/i))
????????????{
????????????????return?true;
????????????}
????????}
????}
????return?false;
}
bool?isPrime(int?n)
{
????int?m?=?(int)sqrt((double)n)?+?1;
????
????if?(n?==?2)
????{
????????return?true;
????}
????if?(n%2?==?0)
????{
????????return?false;
????}
????for(int?i=3;?i<m;?i+=2)
????{
????????if?(n%i==0)
????????{
????????????return?false;
????????}
????}
????return?true;
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/XiaoS/archive/2010/04/17/1714196.html
總結(jié)
以上是生活随笔為你收集整理的HOJ 1015 Nearly prime numbers的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑qq音乐显示无法代理服务器,电脑QQ
- 下一篇: 关于sqlserver中xml数据的操作