编程实现:从键盘输入一个大于1的整数,判断它是素数还是合数。如果是素数则输出判断结果;如果是合数,计算并输出其所有不是7的倍数的因子之和。素数是指自然数中只能被1和它本身整除的数;合数是指自然数中除了能被1和它本身整除外,还能被其他数(0除外)整除的数。
#include <iostream>
using namespace std;
int main (void)
{
int m,n,i,sum=0,f,a;
cout<<"请输入一个正整数:";
cin>>n;
for (m=2;m<n;m++)
{
f=0;
i=n%m;
if (i==0)
{
f=1;
break;
}
}
if (f==0)
cout<<n<<"是素数!"<<endl;
else
{
for (a=2;a<n;a++)
if (n%a==0&&a%7!=0)
sum+=a;
if (n%7!=0)
cout<<n<<"是合数,其所有不是7的倍数的因子之和是:"<<sum+1+n<<endl;
else
cout<<n<<"是合数,其所有不是7的倍数的因子之和是:"<<sum+1<<endl;
}
return 0;
}
运行结果如下: