当前位置:网站首页>520 diamond Championship 7-4 7-7 solution
520 diamond Championship 7-4 7-7 solution
2022-07-05 08:51:00 【Qizi K】
Mengxin came to write the solution again
These two questions can be used “ Stack ” To operate the problem ~
7-7 Non zero mantissa of factorials (20 branch )
seek N The first non-zero at the end of the factorial K digit , At the same time, how many zeros are there at the end of the output .
Ideas : Just simulate ~k No more than 9 So use long long that will do . Each simulation takes the last few digits of the operation result ( Because no matter how large the number of digits is, it will not affect the subsequent results ).
P.S. In fact, the number of zeros only needs to be seen 5 How many multiples of ( Because at the end 0 Several heels 2 and 5 The multiple of and 5 Is far less than 2 Multiple But since it is time and time again There is no need to calculate the number of zeros at the end alone See code for details )
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const ll mod = 1e13;
int main(){
int n, k;
cin >> n >> k;
ll now = 1;
int cnt = 0;
for (int i = 1; i <= n; i++){
now *= i;
while (now % 10 == 0){
now /= 10;
cnt++;
}
now %= mod;
}
stack<int> st;
while (k--){
st.push(now % 10);
now /= 10;
}
while (st.size()){
cout << st.top();
st.pop();
}
cout << " " << cnt << endl;
return 0;
}
7-4 Archaic style A+B (15 branch )
Similar to the previous question Use the stack to process each digit ~
For negative numbers , Output one more - No , Then it is converted to positive number processing ~
#include<cstdio>
#include<stack>
using namespace std;
stack<int> s;
int a,b,ans;
int main(){
scanf("%d%d",&a,&b);
ans = a + b;
if(ans < 0) printf("-\n"), ans = -ans;
do{
s.push(ans % 10);
}while(ans /= 10);
while(s.size()){
printf("%d\n",s.top());
s.pop();
}
return 0;
}
边栏推荐
- Guess riddles (7)
- It cold knowledge (updating ing~)
- golang 基础 —— golang 向 mysql 插入的时间数据和本地时间不一致
- Programming implementation of ROS learning 6 -service node
- golang 基础 ——map、数组、切片 存放不同类型的数据
- Mathematical modeling: factor analysis
- [Niuke brush questions day4] jz55 depth of binary tree
- Ros-10 roslaunch summary
- RT-Thread内核快速入门,内核实现与应用开发学习随笔记
- Numpy pit: after the addition of dimension (n, 1) and dimension (n,) array, the dimension becomes (n, n)
猜你喜欢
猜谜语啦(10)
Shift operation of complement
Programming implementation of ROS learning 6 -service node
Install the CPU version of tensorflow+cuda+cudnn (ultra detailed)
[matlab] matlab reads and writes Excel
Programming implementation of subscriber node of ROS learning 3 subscriber
Hello everyone, welcome to my CSDN blog!
Halcon Chinese character recognition
Halcon: check of blob analysis_ Blister capsule detection
猜谜语啦(11)
随机推荐
File server migration scheme of a company
How to manage the performance of R & D team?
Search data in geo database
Array, date, string object method
猜谜语啦(6)
319. Bulb switch
Bit operation related operations
Numpy pit: after the addition of dimension (n, 1) and dimension (n,) array, the dimension becomes (n, n)
One dimensional vector transpose point multiplication np dot
图解八道经典指针笔试题
某公司文件服务器迁移方案
287. Looking for repeats - fast and slow pointer
猜谜语啦(2)
kubeadm系列-02-kubelet的配置和启动
猜谜语啦(4)
C语言标准函数scanf不安全的原因
It cold knowledge (updating ing~)
golang 基础 —— golang 向 mysql 插入的时间数据和本地时间不一致
Explore the authentication mechanism of StarUML
kubeadm系列-01-preflight究竟有多少check