当前位置:网站首页>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;
}
边栏推荐
猜你喜欢
随机推荐
The combination of deep learning model and wet experiment is expected to be used for metabolic flux analysis
【日常训练--腾讯精选50】557. 反转字符串中的单词 III
Run菜单解析
Mathematical modeling: factor analysis
[牛客网刷题 Day4] JZ32 从上往下打印二叉树
Program error record 1:valueerror: invalid literal for int() with base 10: '2.3‘
Basic number theory -- Euler function
Redis implements a high-performance full-text search engine -- redisearch
容易混淆的基本概念 成员变量 局部变量 全局变量
Typical low code apaas manufacturer cases
RT-Thread内核快速入门,内核实现与应用开发学习随笔记
The first week of summer vacation
Guess riddles (7)
Halcon blob analysis (ball.hdev)
EA introduction notes
猜谜语啦(7)
Guess riddles (5)
asp. Net (c)
Dynamic dimensions required for input: input, but no shapes were provided. Automatically overriding
Guess riddles (3)