暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【寒假每日一题】AcWing 4699. 如此编码

原创 . 2023-06-25
149


目录
一、题目

二、解题报告

一、题目
1、原题链接

2、题目描述

15 32767
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

4 0
2 3 2 5

0 0 0 0

7 23333
3 5 20 10 4 3 10

2 2 15 7 3 1 0

二、解题报告
1、思路分析
1)根据题意进行模拟即可。

2)根据提示中的信息可以总结出b[i]的表达式b[i]=(m%c[i]-m%c[i-1])/c[i-1],b[0]特殊处理。(也可以利用m%a[i](得到b[i]),然后每次m/=a[i](每项中除去b[i]),每次输出m%a[i]即为所求b[i]。(类似进位制,但是进位的是不同数字))。

3)注意数据范围,针对题意进行上述模拟,依次输出b[i],即为所求。

2、时间复杂度
时间复杂度为O(n)

3、代码详解 
#include
using namespace std;
long long a[25],b[25],c[25];
int main()
{ int n,m;
cin>>n>>m;
c[0]=1;
for(int i=0;i<n;i++){
cin>>a[i];
c[i+1]=a[i]*c[i];
}
b[1]=m%c[1]/c[0];
for(int i=2;i<=n;i++){
b[i]=(m%c[i]-m%c[i-1])/c[i-1];
}
for(int i=1;i<=n;i++){
cout<<b[i]<<’ ';
}
return 0;
}

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论