hdu 2522
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2522
题意:中文……
mark:真是2死了,wa了5次。开始是因为数组开小了,因为余数是在n*10的范围内的,所以数组要开10^6。后来是因为给a[]初始化的时候,n应该先转换成正数,结果一直wa。。。此题是模仿除法运算,每一步输出一个结果。
代码:
#include <stdio.h> int a[1000010]; int main() { int t,n,m; scanf("%d", &t); while(t-- && scanf("%d", &n)) { if(n < 0) {printf("-"); n = -n;} for(m = 0; m <= n*10; m++) a[m] = 0; printf("0."); m = 10; while(1) { printf("%d", m/n); if(m%n == 0 || m%n == 1) break; m = (m%n)*10; if(a[m]) break; a[m]++; } printf("\n"); } return 0; }