51nod 1770 数数字 找规律,注意进位,时间复杂度O(n)
生活随笔
收集整理的這篇文章主要介紹了
51nod 1770 数数字 找规律,注意进位,时间复杂度O(n)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目:
這題很簡單,找規(guī)律即可。
考慮兩次進位:
1.a*b時的進位。
2.aa*b時加法時進位。
代碼:
#include <bits\stdc++.h> using namespace std; int num[10]; int main(){int a,b,d,n,t;cin >> t;while(t--){cin >> a >> b >> d >> n;memset(num,0,sizeof(num));if(n <= 5){int t = n;int s = 0;while(t--){s = s*10 + a;}s *= b;do{num[s%10]++;s /= 10;} while(s != 0);}else{int t = 3;int s = 0;while(t--){s = s*10 + a;}s *= b;int ge = s%10;int shi = s/10%10;int bai = s/100%10;int qian = s/1000%10;if(qian != 0){num[qian]++;}num[ge]++;num[shi]++;num[bai] += n-2;}cout << num[d] << endl;}return 0; } 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的51nod 1770 数数字 找规律,注意进位,时间复杂度O(n)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 51nod 1402 最大值 3级算法题
- 下一篇: 51nod 1101 换零钱 完全背包的