hdu 1999は数えられません
1967 ワード
タイトルのソース:http://acm.hdu.edu.cn/diy/contest_showproblem.php?pid=1003&cid=31288&problem=Problem%20%20 C
解法またはタイプ:循環構造.
Description
s(n)は、正の整数nの真の因子の和であり、n以下であり、nを除いた因子の和である.例えば、s(12)=1+2+3+4+6=16.任意の数mであれば、s(m)がnに等しくない場合は、nを不可摸数と呼ぶ.
Input
複数のグループのデータを含んで、まずTを入力して、Tグループのデータがあることを表します.各グループのデータ1行にnを与えます.
Output
nが触れられない場合は、YESを出力します.そうでなければ、Noを出力します.
Sample Input
3
2
5
8
Sample Output
yes
yes
no
ヽoo.ツ
int main()
{
inta[50000],b[50000],m,n,i,t,sum,j,d;
scanf("%d"、&m);
t=0;
for(i=1;i<=50000;i+)
{
sum=0
for(j=1;j<=i/2;j+)
{
if(i%j==0)
sum+=j;
}
a[t]=sum
t++;
}
for(i=0;i
{
if(a[i]<1000)
b[a[i]=1
}
while(m--)
{
d=0;
scanf("%d"、&n);
if(b[n])
printf(no)
else
printf(「yes」)
}
return 0;
) これはやはり間違っています.
エラー解析:1、最初はメーターを打っていませんでした.1000,000以内のすべての数の真の因子の和を直接計算して、真の因子の和があるかどうかは入力の数に等しいです.タイムアウトしました.
2、メーターを打ち間違えました.
解法またはタイプ:循環構造.
Description
s(n)は、正の整数nの真の因子の和であり、n以下であり、nを除いた因子の和である.例えば、s(12)=1+2+3+4+6=16.任意の数mであれば、s(m)がnに等しくない場合は、nを不可摸数と呼ぶ.
Input
複数のグループのデータを含んで、まずTを入力して、Tグループのデータがあることを表します.各グループのデータ1行にnを与えます.
Output
nが触れられない場合は、YESを出力します.そうでなければ、Noを出力します.
Sample Input
3
2
5
8
Sample Output
yes
yes
no
。
1000000 , 1000, 1。 1, 1 , 。
プログラムコード:ヽoo.ツ
int main()
{
inta[50000],b[50000],m,n,i,t,sum,j,d;
scanf("%d"、&m);
t=0;
for(i=1;i<=50000;i+)
{
sum=0
for(j=1;j<=i/2;j+)
{
if(i%j==0)
sum+=j;
}
a[t]=sum
t++;
}
for(i=0;i
{
if(a[i]<1000)
b[a[i]=1
}
while(m--)
{
d=0;
scanf("%d"、&n);
if(b[n])
printf(no)
else
printf(「yes」)
}
return 0;
) これはやはり間違っています.
エラー解析:1、最初はメーターを打っていませんでした.1000,000以内のすべての数の真の因子の和を直接計算して、真の因子の和があるかどうかは入力の数に等しいです.タイムアウトしました.
2、メーターを打ち間違えました.