-1
   #include<math.h>
   #include<stdio.h>
   int main()
   {
       long i,j[100000],k,l,T,a,n[100000],c,sum=0,m;
       scanf("%ld\n", &T);
       for(c=1; c<=T; c++)
       {
           n[c] = 0;
       }
       for(i=1; i<=T; i++)
       {
           scanf("%ld", &j[i]);
           printf(" \n");
       }
       for(k=1; k<=T ; k++)
       {
           for(l=1; j[k]>pow(5,l); l=l+15);
           a=l++;
           n[k] = j[k];
           while(a>0)
           {
               n[k] = n[k]/pow(5,l);
               sum = sum + n[k];
           }
           n[k] = sum;
       }
       for(m=1; m<=T; m++)
       {
           printf("%ld \n", &n[m]);
       }
       return 0;
   }
   long pow(long x,long y)
   {
       if(y==0)
           return 1;
       else
       return(x*pow(x,y-1));
   }

エラー: POW の型が競合しています

それ以外の場合、プログラムは正しいですか?これがプログラムステートメントの入力です

入力の最初の行に 1 つの正の整数 T があります (約 100000 に相当)。続く数字の数を表します。次に、T 行があり、それぞれに正の整数 N、1 <= N <= 1000000000 が 1 つ含まれています。

出力

数値 N ごとに、1 つの負でない整数 Z(N) を含む 1 行を出力します。例

サンプル入力:

6
3
60
100
1024
23456
8735373

サンプル出力:

0
14
24
253
5861
2183837
4

1 に答える 1

2

powmath.h、コードでも定義するように定義されています。powin にmath.hは署名があります:これdouble pow(double x, double y)が競合を引き起こしています。

のいずれかを使用してmath.h pow、バージョンを削除してください。または、実装したものを使用して削除しmath.hます。

使用中の のバージョンを使用している場合powgcc、ビルトインとして-fno-builtin-powの の検出を停止し、 のバージョンが使用されるようにします。powpow

于 2012-06-13T05:50:14.907 に答える