hdu4278 小想法
生活随笔
收集整理的這篇文章主要介紹了
hdu4278 小想法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
? ? ? 有幾個計數器,從1開始計數,計數器有問題,沒有3,8這兩個數字,只要出現3或者8,那么直接跳過,如 12579 下一個數字就是 12590 ,給你一個數字,問他實際計數了多少。
思路:
? ? ?直接把輸入數字的每一位處理一下,對于當前這位,如果它 >= 3 && <= 8 那么-1 ,
? ? ? 有幾個計數器,從1開始計數,計數器有問題,沒有3,8這兩個數字,只要出現3或者8,那么直接跳過,如 12579 下一個數字就是 12590 ,給你一個數字,問他實際計數了多少。
思路:
? ? ?直接把輸入數字的每一位處理一下,對于當前這位,如果它 >= 3 && <= 8 那么-1 ,
如果它 >8 那么-2,這樣就把他變成另一個數,此時的這個數是八進制數,在把他轉換成十進制數就行了。。如 59 先 把它變成 47,然后轉換成十進制是 7 + 4 * 8 = 39,就ok了。
#include<stdio.h> #include<string.h> #include<math.h> int main () {char str[100];while(~scanf("%s" ,str) && str[0] != '0'){int l = strlen(str) - 1;int tt = 0;int ans = 0;for(int i = l ;i >= 0 ;i --){int now = str[i] - 48;if(now >3 && now < 8)now --;if(now >8) now -= 2;ans +=now * (int)pow(8 ,tt);tt ++;}printf("%s: %d\n", str,ans);}return 0; }
總結
以上是生活随笔為你收集整理的hdu4278 小想法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用的STL
- 下一篇: hdu4280 最大流DINIC