NYOJ素数距離問題
2014 ワード
最近の話は少し分からないので、簡単な問題をしてまずコード能力を高めることにしました.
素数距離の問題
時間制限:3000 ms|メモリ制限:65535 KB
難易度:2
入力
第1行目は、試験データ群数N(0次のN行毎に整数M(0)を与える
しゅつりょく
各行は2つの整数A Bを出力し、Aは対応する試験データに最も近い素数を表し、Bはその間の距離を表す.
サンプル入力
サンプル出力
説明
次に、これらの整数が隣接する最も近い素数を出力し、そのピッチ長を出力するプログラムを書く必要があります.左右に等距離長素数があれば、左側の値と対応する距離を出力します.入力された整数自体が素数である場合、その素数自体が出力され、距離出力0が出力される.
実は、この問題は難しくなくて、素数の距離を計算して、まず、素数を判断して、表を打って素数のふるいを加える方法で、次は難点です.コードでは具体的に説明します.主に距離の判断で、いくつかの状況に分けて、自身が素数で、そうでなければ、その前が素数であるかどうかを判断して、しかもゼロより大きいです.その後ろは素数かどうか、もしそうなら距離を判断します.差が少ないのがこの考えだ.実はこれも私が1つのブログを見て書いたもので、emmm、必ず自分で多く実現して、多くコードの能力を高めなければなりません.
実は大男のブログと差は多くなくて、自分で理解して書くことをマスターしてもう一度送って、私达の先生は1つの言叶を言ったことがあって、他の人のコードはあなたが自分で書くかデバッグしないで、他の人のヒントを見ないで过ごすことができて、同じく绝えず复习します.
素数距離の問題
時間制限:3000 ms|メモリ制限:65535 KB
難易度:2
入力
第1行目は、試験データ群数N(0次のN行毎に整数M(0)を与える
しゅつりょく
各行は2つの整数A Bを出力し、Aは対応する試験データに最も近い素数を表し、Bはその間の距離を表す.
サンプル入力
3
6
8
10
サンプル出力
5 1
7 1
11 1
説明
次に、これらの整数が隣接する最も近い素数を出力し、そのピッチ長を出力するプログラムを書く必要があります.左右に等距離長素数があれば、左側の値と対応する距離を出力します.入力された整数自体が素数である場合、その素数自体が出力され、距離出力0が出力される.
実は、この問題は難しくなくて、素数の距離を計算して、まず、素数を判断して、表を打って素数のふるいを加える方法で、次は難点です.コードでは具体的に説明します.主に距離の判断で、いくつかの状況に分けて、自身が素数で、そうでなければ、その前が素数であるかどうかを判断して、しかもゼロより大きいです.その後ろは素数かどうか、もしそうなら距離を判断します.差が少ないのがこの考えだ.実はこれも私が1つのブログを見て書いたもので、emmm、必ず自分で多く実現して、多くコードの能力を高めなければなりません.
// ,
// , ,
// , ·
#include
#include
#include
#include
#include
const int maxn=1000005;
int a[maxn];
using namespace std;
void isPrime()
{
a[1]=1;//1 1
for(int i=2;i*i>T;
while(T--)
{
scanf("%d",&num);
if(a[num]==0)//
{
printf("%d 0
",num);
}
else
{
numup=numdown=num;//
while(a[numup]!=0)// 0
numup++;//
while(a[numdown]!=0&&numdown>0)// 0 0
numdown--;//
if(numdown==0)// 0
{
printf("%d %d
",numup,numup-num);
}
else if(numup-num>=num-numdown)//
{
printf("%d %d
",numdown,num-numdown);
}
else
{
printf("%d %d
",numup,numup-numdown);
}
}
}
return 0;
}
実は大男のブログと差は多くなくて、自分で理解して書くことをマスターしてもう一度送って、私达の先生は1つの言叶を言ったことがあって、他の人のコードはあなたが自分で書くかデバッグしないで、他の人のヒントを見ないで过ごすことができて、同じく绝えず复习します.