hdu2099
这是一道很水的题,谁看到谁都会有思路,其实我也有但是由于第二个一直不知道怎么清楚,就是不会被完全整除的情况下,怎么就让他永远减下去,然后超过100,就退出,一直没找到那个临界点,因此看了别人的思路其实别人的思路也蛮好理解,也蛮容易想的,因为就是一个2位数嘛,很简单一个一个试吧,这么简单,能完全除尽,就输出,除不尽就不输出,很简单,但是很浪费时间,当然了,其实自己也没有想到,就想到了,自己刚才想的,到那时一直不知道怎么写可以让他把他运行出来,哎,还有就是,这道题的有两个细节,
第一个是怎么输出00,其实自己不会,看了别人的才知道怎么输出的,%02d,就是最少两位,不满则添0,很好地方法
第二个,就是输出的时候,最后一个的末尾是没有空格的,而题目中用了很简单的三则运算符,达到了目的,很简单,很方便,但不容易想,记住了
上面是自己的思路,那点一直不知道怎么做
1 #include <stdio.h>
2 #include <string.h>
3 /*
4 int main()
5 {
6 int a,b,i,s;
7 while(scanf("%d %d",&a,&b) != EOF)
8 {
9 s = 0;
10 i = 0;
11 if(a == 0 && b == 0)
12 break;
13 if(a % b == 0)
14 {
15 for(i = 0;i*b < 100; i++)
16 printf(i==0 ? "%02d":" %02d",i*b);
17
18 }
19 else
20 {
21 s =(a * 100) % b;
22 while(s > 0 && s< 100){
23 s-=b;
24 printf(i == 0 ?"%02d":" %02d",-s);
25 i--;
26 }
27
28 }
29 printf("\n");
30
31 }
32 return 0;
33 }
34 */
35
36 int main()
37 {
38 int a,b,f,i;
39 while(scanf("%d %d",&a,&b)!= EOF && a != 0|| b != 0)
40 {
41 f = 0;
42 for(i = 0;i< 100;i++)
43 {
44 if(( a * 100 + i ) % b == 0)
45 printf(f ++ ?" %02d":"%02d",i);
46
47 }
48 printf("\n");
49 }
50
51 return 0;
2 #include <string.h>
3 /*
4 int main()
5 {
6 int a,b,i,s;
7 while(scanf("%d %d",&a,&b) != EOF)
8 {
9 s = 0;
10 i = 0;
11 if(a == 0 && b == 0)
12 break;
13 if(a % b == 0)
14 {
15 for(i = 0;i*b < 100; i++)
16 printf(i==0 ? "%02d":" %02d",i*b);
17
18 }
19 else
20 {
21 s =(a * 100) % b;
22 while(s > 0 && s< 100){
23 s-=b;
24 printf(i == 0 ?"%02d":" %02d",-s);
25 i--;
26 }
27
28 }
29 printf("\n");
30
31 }
32 return 0;
33 }
34 */
35
36 int main()
37 {
38 int a,b,f,i;
39 while(scanf("%d %d",&a,&b)!= EOF && a != 0|| b != 0)
40 {
41 f = 0;
42 for(i = 0;i< 100;i++)
43 {
44 if(( a * 100 + i ) % b == 0)
45 printf(f ++ ?" %02d":"%02d",i);
46
47 }
48 printf("\n");
49 }
50
51 return 0;
52 }
浙公网安备 33010602011771号