当前位置:网站首页>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;
}
原网站

版权声明
本文为[Qizi K]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202140539523808.html