2016-07-21 3 views
1

私は整数の2乗の各桁の和を求めようとしていますが、sqdnumberに入力されている整数に対しては0をsqdNumber_resultに出力します。このループが毎回0をsqdNumber_resultに出力するのはなぜですか?

また、これはedXによるものですが、私はこの問題で1週間ほど立ち往生しています。私は多くの異なるトピックを見てきましたが、私には何も見当たりませんでした。

私はこれを書くためにコードブロックを使用しますが、それをテストシステムは、私は、コードに新しいですし、ちょうどC++でループを行うことを学ぶcodeboard

void squaredSum(int sqdnumber,int &sqdNumber_result) { 
for (int i=1; i>1; i++){ 
    if (sqdnumber >= ((10^(i-1))-1)){ 
     int rem = (sqdnumber % (10^i)); 
     int rem1 = (sqdnumber % (10^(i-1))); 
     int temp = (rem - rem1); 
     sqdNumber_result = sqdNumber_result + (temp^2); 
    } 

    else{ 
     break; 
    } 
} 
} 

を使用しています。

これはループの最初の反復です。私は実際に私にその出力を与えました(私は20回もそれを書いて書き直しました)が、私には出力を与えませんセンス。

私は尋ねることはありませんが、私はウィットの終わりです。

答えて

5

^は、n乗ではなく、xor operatorです。そのためには、powを使用してください。

+0

ありがとう、私は#を#includeに使用する必要があるpow関数を使用することを認識していませんでしたか? –

+0

」はC++です。 – LogicStuff

+0

@JamesChristie、これが質問に答えるならば、答えとしてそれを受け入れることは丁寧です。 – GreatAndPowerfulOz

3

forステートメントはループしません。条件i>1が満たされることはありませんので、

for (int i=1; i>1; i++){ 

このループは、まったくますないループ:条件は2つの問題があります。最初の反復

+1

OPへの注記:これは、デバッガを実行して機能を実行することによって、非常に見やすくなります。 – chris

1

falseです。


第2の問題は、電源操作を行う^の使用方法です。 C++の^は電力演算子ではなく、exclusive-or演算子です。

最初の一見の答えは、std::pow関数を使用してパワーを計算することです。しかし、指数が整数の場合、それを使用する際の欠点があります。その理由は、powではなく、が整数乗数に対して完全に動作することが保証されているからです。

はちょうど10ルックアップを行うための権限を持つ値の単純な配列を使用することをお勧めしdangers of using pow() for integral exponents

にとしてこれを参照してください。

-3

あなたはC++の初心者だと言ったので、forループを使わずに解決策を試してみて、できるだけ簡単にしようとしました。 これが助けになるかどうか教えてください。

//Code to calculate the sum of each digit squared// 
#include<iostream> 

using namespace std; 
int main() 
{ 
    int integer1,integer2,sum, square; 

    cout<<"Please enter two integers"<<endl; 

    cin>>integer1>>integer2 ; 

    cout<<"The sum of your integers is"<<" "<<endl; 

    sum = (integer1+integer2); 

    cout<<sum<<endl; 

    cout<<"The square of your sum is"<<" "<<endl; 

    square = (sum*sum); 

    cout<<square<<endl; 

return 0; 
} 
+0

そして "なぜこのループは毎回0をsqdNumber_resultに出力していますか?"どこに?あなたの答えはまったく無関係なようです。 –

関連する問題