生活随笔
收集整理的這篇文章主要介紹了
岛屿的缘分
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
人和人的相識是一種緣分,其實人有幸到某地也是一種緣分。某風景優(yōu)美的K小島的緣分和其他景點的緣分來得不一般,K島上有一個石碑刻上了兩個很大很大的整數x和y,和一個正整數K,后面寫道:“誰能準確的寫出x和y的乘積中最右邊的k位數(如果乘積不足K位則在左邊用“0”補足K位),他就是和K小島有緣分的人”,李先生到了K小島,他馬上叫他的秘書算一算,寫出x和y的乘積中最右邊的k位數,看看李先生和他的秘書是否和K小島有緣分。現在也請你完成這個工作(注意: 如果乘積不足K位則在左邊用“0”補足K位)。
Input
從文件b.in讀入數據,文件中共有三行,第一行是一個位數不大于120的正整數x,第二行是一個位數不大于120的正整數y,第三行是一個正整數K(1=< K <=250)。
Output
結果輸出到文件b.out中,只有一行,就是x和y的乘積中最右邊的k位數。
Sample Input
輸入輸出樣例1:
b.in
30
60
3
輸入輸出樣例2:
b.in
12
13
5
Sample Output
輸入輸出樣例1:
b.out
800
輸入輸出樣例2:
b.out
00156
.
.
.
.
.
分析
高精乘
.
.
.
.
.
程序:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;int a[200],b[200],c[1000],k,l1,l2;
string s,t,r;int main()
{freopen("b.in","r",stdin);freopen("b.out","w",stdout);cin>>s>>t;scanf("%d",&k);l1=s.size();for (int i=l1;i>=1;i--)a[l1-i+1]=s[i-1]-'0'; l2=t.size();for (int i=l2;i>=1;i--)b[l2-i+1]=t[i-1]-'0';for (int i=1;i<=l1;i++)for (int j=1;j<=l2;j++){c[i+j-1]=a[i]*b[j]+c[i+j-1];c[i+j]+=c[i+j-1]/10;c[i+j-1]%=10;}int i=l1+l2;while (c[i]>10) {c[i+1]=c[i]/10;c[i]%=10;i++;}for (int i=k;i>=1;i--)printf("%d",c[i]);fclose(stdin);fclose(stdout);return 0;
}
轉載于:https://www.cnblogs.com/YYC-0304/p/11094915.html
總結
以上是生活随笔為你收集整理的岛屿的缘分的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。