0
using System;
public class Test
{
    public static void Main()
    {
        int n = 600851475143;
        int x = 1;
        While (x<n)
        {
        if(n%x==0)
            {
                Console.WriteLine(x);
            }    
        x++;
        }    
    }    
}       

{ 場違いなエラーが表示されますが、何が問題なのかわかりません。誰?

4

2 に答える 2

6

Whileは大文字にすべきではなく、の値はnint には大きすぎます。

中括弧に問題があるようには見えません。これら 2 つのエラーを修正すると、コンパイルされるはずです。

編集:投稿したコードファイルは、質問に投稿したものとはまったく異なるエラーです。AC# プログラムはエントリ ポイントを 1 つしか持てpublic static void Main()ません。ファイルからメソッド シグネチャをコピー アンド ペーストするとProgram、コンパイルされません。Main他の有効な署名に変更すると、コンパイルされます。

于 2012-07-18T15:39:37.737 に答える
2

While (x<n)する必要がありますwhile (x<n)

そしてlong、変数に値を代入していintます。

変数が保持できる最大2,147,483,647 です。だからあなたはそれを長いものに変えるかもしれませんint

long  n = 600851475143;
于 2012-07-18T15:40:32.433 に答える