簡単な問題だと思ったのですが

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
but

簡単な問題だと思ったのですが

#1

投稿記事 by but » 13年前

1000以下の完全数をすべて(3つしかないみたいですが)求めるプログラムを作ったのですが、うまくいきません
何か間違っているのでしょうか?教えてくださると助かります

コード:

 
#include<stdio.h>
int main(void)
{
	int i,j,k=0;
	for(i=1;i<=1000;i++){
		for(j=1;j<i;j++){
			if(i%j==0){
				k=k+i;
			}
		}
		if(k==i){
			printf("%dは完全数です\n",k);
		}
	}
	return 0;
}

アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

Re: 簡単な問題だと思ったのですが

#2

投稿記事 by h2so5 » 13年前

kが最初しか初期化されていないのでどんどん大きくなってしまいます。
あと9行目の式がおかしいです。

but

Re: 簡単な問題だと思ったのですが

#3

投稿記事 by but » 13年前

解決しました
初期化の問題だったんですね
あと、9行目についてはこちらのミスでしたすみません

閉鎖

“C言語何でも質問掲示板” へ戻る