我試圖解決這個問題http://www.spoj.com/problems/PRIMEZUK/SPOJ素數猜想PRIMEZUK
#include<iostream>
#include<cstdio>
#include<math.h>
#define l long long
using namespace std;
l chk(l a)
{
for(int i=2;i<=sqrt(a);++i)
{
if(a%i==0)
{
return a/i;
}
}
return 0;
}
main()
{
// freopen("in.txt","r",stdin);
int t,n,a;
l prod=1,flag;
//t=inp();
cin>>t;
for(int j=1;j<=t;++j)
{
cin>>n;
//n=inp();
if(n==0)
prod=-1;
else
prod=1;
while(n--)
{
cin>>a;
//a=inp();
prod*=a;
}
++prod;
flag=chk(prod);
if(!flag)
printf("Case #%d: %lld\n",j,prod);
else
printf("Case #%d: %lld\n",j,flag);
}
}
我得到正確的答案樣本測試案例,但whne我提交我得到錯誤的答案...任何提示???
有stackexchange [代碼審查]中多了一個網站(http://codereview.stackexchange.com/)......對於這些問題 – HadeS
的#define升長長的最適合的地方 - 這是一個犯罪針對編程的攻擊 – gnasher729