编写算法对输入的一个整数,判断他能否被4,7,9整除
发布日期:2021-05-07 13:03:00 浏览次数:25 分类:精选文章

本文共 1155 字,大约阅读时间需要 3 分钟。

编写算法对输入的一个整数,判断他能否被4,7,9整除,并输出以下信息之一:

能同时被4,7,9整除;
能被其中两个数(要指出哪两个)整除;
能被其中一个数(要指出哪一个)整除;
不能被4,7,9任一个整除。
问题分析:当一个数可以同时被4,7,9
算法设计:第一步输入你的数字n。第二步见一下逻辑格式:。逻辑表达式的值为0表示不能被4,7,9任一个整除。表达式为1表示只能被4整除。表达式为2表示只能被7整除。表达式为3表示只能被4,7整除。表达式为4只能被9整除。表达式为5表示只能被4,9整除。表达式为6表示只能被7,9整除。表达式为7表示可能被4,7,9同时整除。
算法描述:
main()
{
int n,k;
print(“请输入这个数n:\n”);
input(n);
m=(n%4=0)*1+(n%7=0)*2+(n%9=0)*4;
switch(k){
case 0:print(“n不能被4,7,9任一个整除!\n”);break;
case 1:print(“n能被4整除!\n”);break;
case 2:print(“n能被7整除!\n”);break;
case 3:print(“n能被4,7整除!\n”);break;
case 4:print(“n能被9整除!\n”);break;
case 5:print(“n能被4,9整除!\n”);break;
case 6:print(“n能被7,9整除!\n”);break;
case 7:print(“n能同时被4,7,9整除!”);break;
default :break;
}
}
源程序:
#include<stdio.h>
int main()
{
int n,k;
printf(“请输入你的数n:\n”);
scanf("%d",&n);
m=(n%40)*1+(n%70)*2+(n%9==0)*4;
switch(k){
case 0:printf(“n不能被4,7,9任一个整除!\n”);break;
case 1:printf(“n能被4整除!\n”);break;
case 2:printf(“n能被7整除!\n”);break;
case 3:printf(“n能被4,7整除!\n”);break;
case 4:printf(“n能被9整除!\n”);break;
case 5:printf(“n能被4,9整除!\n”);break;
case 6:printf(“n能被7,9整除!\n”);break;
case 7:printf(“n能同时被4,7,9整除!”);break;
default :break;
}
return 0;
}
运行结果图:
在这里插入图片描述
算法分析:时间复杂度为o(1)

上一篇:求这样的两个数据:5位数=2*一个4位数,9个数字互不相同。
下一篇:输入a,b两个数,交换数值的简易中的简易思想

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月03日 00时50分53秒