main 関数において整数 a,b をキーボードから受け取り 関数 sum_n を用いて a 以上 b 未満の数のうち, 2の倍数でも3の倍数でもないものの和を求めて表示するプログラムを作成せよ.
↑の問題についてなのですが例えば1と6を入力したとき1~5までの2 の倍数でも 3 の倍数でもない数のみ足し合わせるので答えは1+5で6となるはずなのですが7となってしまい合いません。どこで間違えているのかわからずお力を借りたいです。
↓が作ったコードになります。
#include<stdio.h>
int sum_n(int n);
int main(void)
{
int a,b,sum=0,j;
printf("整数を入力してください>>>");
scanf("%d %d",&a,&b);
for(j=a;j<b;j++)
{
if(j%2 != 0 && j%3 != 0)
{
sum=sum+sum_n(j);
}
}
printf("結果は%d",sum);
return 0;
}
int sum_n(int n)
{
int i,result=0;
for(i=0;i<=n;i++)
{
if(i%2 != 0 && i%3 != 0)
{
result=result+i;
}
}
return result;
}