前提
C言語である大きい数の最大の素因数を求めるプログラムを作成しています。その数は3233514234548132です。そこで以下のようなプログラムを作成したのですが、適当な数では正常に作動するものの、肝心の求めたい数になると一つ小さいものを出力してしまいます。
実現したいこと
その数は3233514234548132です。そこで以下のようなプログラムを作成したのですが、適当な数では正常に作動するものの、肝心の求めたい数になると一つ小さい127を出力してしまいます。
発生している問題・エラーメッセージ
一つ小さい素因数を出力してしまう
該当のソースコード
#include<stdio.h> int main(void){ unsigned long long m,Gmax=0,flag; int i; m=3233514234548132; flag=m; for(i=2;i<=flag;i++){ if(m%i==0){ Gmax=i; while((m%i)==0){ m/=i; } } } printf("%lld\n",Gmax); return 0; }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/12/06 23:43