趣味算法------拯救阿拉德大陆

目录

​编辑

题目描述:

思路解析:

具体代码:

总结:


题目描述:


此时一批勇士也随之而来,但其能力也是参差不齐,我们需要挑选出最优秀的勇士来守护这片大陆。每位勇士都有属于自己的编号,而我们现在有四张卡片里面分别标记了一个号码,当勇士的编号为其中某一张卡片中号码的倍数时说明该勇士是优秀的。目前有 n 名勇士(编号 1-n)并且告诉你卡片内的号码,请你计算出能挑选出多少位勇士?

输入格式
第一个行读入一个正整数 n。
第二行读入四个正整数 a, b,c, d 分别表示四张卡片内的号码。

输出格式
输出挑选出来的勇士个数。

输入样例1
输入
10
2 3 5 7
输出
9
输入样例2
输入
20
6 7 13 9
输出
7

思路解析:

        我们需要定义一个整形n来接收勇士的数量,然后定义一个数组来储存四张卡牌的号码,定义一个整形count并初始化为0表示目前挑选勇士的数量。

        然后让编号1~n的勇士依次检查四张卡牌中有没有自己的倍数,如果有的话,计数器count自增1。

具体代码:

#include<stdio.h>
int main(void)
{
    int n;
    int arr[4];//四张卡牌
    scanf("%d",&n);
    int count = 0;//计数器
    for(int i = 0;i<4;i++)
        scanf("%d",&arr[i]);
    
    for(int i = 1;i<=n;i++)
        for(int j = 0;j<4;j++)
            if(i%arr[j] == 0)
                {
                    count++;
                    break;//一旦挑选就退出循环,以防重复挑选。
                }

    printf("%d",count);
    
}

总结:

        两层for循环,遍历卡牌中的号码有没有勇士编号的倍数,计算符合条件的勇士数量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值