发布网友 发布时间:2024-10-23 23:34
共3个回答
热心网友 时间:2024-10-30 19:19
#include <iostream>
int main ()
{
using namespace std;
int number;
cout<<"输入一个数字给number: ";
cin>>number;
if (number%3==0&&number%5==0&&number%7==0)
cout<<"\n这个数可以同时被3,5,7整除。\n";
if (number%3==0&&number%5==0&&number%7!=0)
cout<<"这个数可以同时被3,5整除。\n";
if (number%3==0&&number%5!=0&&number%7==0)
cout<<"这个数可以同时被3,7整除。\n";
if (number%3!=0&&number%5==0&&number%7==0)
cout<<"这个数可以同时被5,7整除。\n";
if (number%3!=0&&number%5!=0&&number%7!=0)
cout<<"这个数不能被3,5,7整除。\n";
return 0;
}
热心网友 时间:2024-10-30 19:23
分析一下算法吧:
1. 如果都能被整除的话,这个数一定是3、5、7公倍数。
2. 否则的话,可能是3、5或者3、7或者5、7的公倍数。
3. 否则的话,那么可能是3或者5或者7的倍数。
4. 否则,什么也不是!!
热心网友 时间:2024-10-30 19:15
简单的写了一下,你看一下吧:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<ctype.h>
void main()
{
int a=0;
char str[10];
printf("Please enter a integer:");
gets(str);
for(int i=0;i<strlen(str);i++)
if(!isdigit(str[i]))
{
printf("对不起,您的输入有误!\n");
exit(1);
}
else
a+=(str[i]-48)*pow(10,strlen(str)-1-i);
if(a%105==0) printf("%d能被3、5、7整除!\n",a);
else{
if(a%15==0 || a%21==0 || a%35==0)
{
if(a%15==0) printf("%d能被3、5整除!\n",a);
if(a%21==0) printf("%d能被3、7整除!\n",a);
if(a%35==0) printf("%d能被5、7整除!\n",a);
}
else
{
if(a%3==0 || a%5==0 || a%7==0)
{
if(a%3==0) printf("%d能被3整除!\n",a);
if(a%5==0) printf("%d能被5整除!\n",a);
if(a%7==0) printf("%d能被7整除!\n",a);
}
else
printf("%d不能被3、5、7整除!\n",a);
}
}
}
用C++的话,自己改一下,头文件以及输入输出方式就行了。