2017-11-05 8 views
-2
a=input('Number:'); 
check=0; 
sum=0; 
counter=0; 
result=0; 
while a >=0 
    b=mod(a,10); 
    for i=2:b-1 
     if mod(b,i)==0 
      check=check+1; 
     end 
    end 
    if check==0 
     sum=sum+b; 
     counter=counter+1; 
    end 
    a=a/10; 
    check=0; 
end 
result=sum/counter; 
disp(result); 

こんにちは皆さんは、与えられた数で素数を見つけて平均を計算したいのですが、数字を入力するとプログラムがループしているのを知りません。私の問題Matlabは数字の素数を見つける

+0

「数字の素数」とはどういう意味ですか?それは数学的に正確であるか、あるいは少なくとも例を挙げることができますか? –

+0

申し訳ありません私の英語は良いです私は指定された数字がexample.andのための12345であることを意味し、2 3 5を取って平均を計算したい@MarcusMüller – RedPotato

+0

そう、あなたは4つの一桁の素数 "2 3 5 7 "? –

答えて

0

これはa >= 0のためです。私はあなたがむしろほしいと思うと思うa > 0

+0

ループ内に固執していますが、変数の値はあまりにも間違っています – RedPotato

+0

'check'を0にリセットしてください。' sum'と 'counter'も – yar

+0

ですが、' sum'と 'counter'を0にリセットしても、 'check'は0になりますが、値はまだランダムです – RedPotato

関連する問題