大佬们,请问我这个题为什么全是WA,我用自己的编译器结果没毛病呀,谢谢
查看原帖
大佬们,请问我这个题为什么全是WA,我用自己的编译器结果没毛病呀,谢谢
1091827
sdcjdxzqh1楼主2023/11/6 19:24
#include<stdio.h>
int main()
{
    unsigned long long N,i,j,r,n,w;
    unsigned long long sum=1;
    int a[10002]={0};
    scanf("%lld",&N);
    for(j=1;j<=N;j++)
    sum=sum*j;//先求出那个阶乘
    for(n=2;n<=sum;)//从2开始找质数
    {
        for(i=2;i<n;i++)
        {
            r=n%i;
            if (r==0)//取余一个数是零了,不是质数
            {
                w=1;
                n++;
            }
            else
            {
                w=0;//如果一直不是0,那就是质数了
            }
        }
        if(w==0&&sum%n==0)//是质数,且能被sum整除
        {
            a[n]++;//数组对应的数+1
            sum=sum/n;//sum除个n
            if(sum%n!=0)//如果现在sum取余n不是0,就可以输出一行了
            printf("%d %d\n",n,a[n]);
        }
        else
        {
            n++;//不是质数还做啥,下一次循环吧
        }
    }
    return 0;
}
2023/11/6 19:24
加载中...