当前位置: 首页> 汽车> 时评 > 小数第n位【蓝桥杯】

小数第n位【蓝桥杯】

时间:2025/7/11 17:41:36来源:https://blog.csdn.net/m0_74053777/article/details/139361561 浏览次数: 0次

小数第n位

在这里插入图片描述
在这里插入图片描述

模拟

思路:arr数组用来记录已经出现过的a,在循环时及时退出。易知题目的3位即a%=a后的第n-1,n,n+1位。该代码非常巧妙,num记录3位的输出状况。

#include<iostream>
#include<map>
using namespace std;
typedef long long ll;
map<ll,bool> m;
ll arr[1000005];
int main()
{ll a,b,n,num=0,idx=0;cin>>a>>b>>n;a=a%b;for(ll i=0;i<n+2;i++){a*=10;if(m[a]) break;m[a]=1;ll c=a/b;arr[idx++]=c;if(i+1>=n) {cout<<c;num++;}a-=c*b;if(a==0){for(ll j=num;j<3;j++) cout<<0;return 0;}}for(ll i=n+num-1;i<n+2;i++) cout<<arr[i%idx];return 0;
}
关键字:小数第n位【蓝桥杯】

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: