牛客OI周赛7-提高组 A 小睿睿的等式

本文介绍了一道使用火柴棒拼摆等式的编程题。题目要求计算能够使用n根火柴棒摆出形如“A+B=n”的等式数量,且所用火柴数恰好为n/k。文章给出了具体的实现代码,通过预处理每个数字所需的火柴棒数量来求解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

链接:https://ac.nowcoder.com/acm/contest/371/A
来源:牛客网

小睿睿在游戏开始时有n根火柴棒,他想知道能摆成形如“A+B=n”的等式且使用的火柴棒数也恰好等于n/k的等式有多少种(B+A=n与A+B=n看作一种)
注:
“=”与“+”分别需要使用2根火柴棒

输入描述:

一行2个整数n,k,保证n取模k为0

输出描述:

一行一个整数,表示答案



思路,打表存下每个数字对应消耗的火柴数

 1 #include<iostream>
 2 using namespace std;
 3 int b[10]={6,2,5,5,4,5,6,3,7,6},a[50000001];
 4 int main()
 5 {
 6     int n,k;
 7     cin>>n>>k;
 8     for(int i=1;i<=n;i++)
 9     a[i]=a[i/10]+b[i%10];
10     int m=n/k-4-a[n],ans=0;
11     for(int i=0,j=n;i<=j;i++,j--)
12     {
13         if(a[i]+a[j]==m)
14         {
15             ans++;
16         }
17     }
18     cout<<ans<<endl;
19 }

 

转载于:https://www.cnblogs.com/spongeb0b/p/10597205.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值