2 条题解
-
0
#include<iostream> using namespace std; int main(){ int m, n, xs[21]; //在xs[1...20]中存储20个小数位 scanf("%d%d", &m, &n); printf("%d/%d=%d.", m, n, m/n); //输出整数部分和小数点 for(int i=1; i<=20; i++){ //循环20次计算20个小数位 m%=n; m*=10; xs[i]=m/n; } int i=20; while(xs[i]==0 && i>1) i--; //计算有效的小数位 for(int j=1; j<=i; j++) //输出i个有效小数位 printf("%d", xs[j]); return 0; }
-
0
#include <bits/stdc++.h> #define ll long long using namespace std; int main() { int r,x[21],i=0; long long a,b; cin>>a>>b; printf("%lld/%lld=%d.",a,b,a/b); r=a%b; memset(x,0,sizeof(x)); if(r==0) cout<<'0'; while(r!=0&&i<=19) { r*=10;//商乘以10,模拟竖式除法 x[i]=r/b; i++; r%=b; } for(i=19;i>=0;i--){ if(x[i]!=0) { break;//防止循环小数或者无限不循环小数的20位或者后面几位是0 } } for(int j=0;j<=i;j++){ cout<<x[j]; } return 0; }
- 1
信息
- ID
- 1197
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 54
- 已通过
- 19
- 上传者