Ring's ACM

跳到主文

幫完成的程式備份~~( ̄y▽ ̄)╭ 科科

部落格全站分類:生活綜合

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 5月 06 週四 201011:15
  • ACM 10929: You can say 11

判斷輸入的數字是不是11的倍數,最多到1000位

[心得]

1.位數太多所以使用string來記錄,配合11倍數檢查法 (奇偶位數和之差為11的倍數或0)

2.利用atoi()來判斷讀進來的數字是不是0

3.atoi()沒辦法只轉一位,所以相加時數字之值用 ASCII CODE-48 來表示

 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
    char N[1001];
    int len,i,odd,even,sub;
   
    while(gets(N)!=NULL)
    {
        if(!atoi(N))
            break;
       
        len=strlen(N);
        odd=0; even=0;
       
        for(i=0;i<len;i++)
        {
            if(i%2) odd+=N[i]-48;
            else even+=N[i]-48;
        }
        sub=abs(odd-even);
       
        if(!sub!(sub%11))
            printf("%s is a multiple of 11.\n",N);
        else
            printf("%s is not a multiple of 11.\n",N);
    }
       
    return 0;
}

文章標籤
全站熱搜
創作者介紹
創作者 RingsACM 的頭像
RingsACM

Ring's ACM

RingsACM 發表在 痞客邦 留言(0) 人氣(1,039)

  • 全站分類:
  • 個人分類:ACM-UVA-難度1
▲top

個人資訊

RingsACM
暱稱:
RingsACM
分類:
生活綜合
好友:
累積中
地區:

最新文章

    文章分類

    • ACM-UVA-難度1 (0)
    • C語言-其他 (0)
    • ACM-UVA-難度2 (0)
    • 未分類文章 (1)

    熱門文章

    • ()當linux遇到"拒絕不符權限的操作"
    • ()ACM 10038: Jolly Jumpers
    • ()C語言字符串函數大全
    • ()linux下加解壓指令
    • ()ACM 10035: Primary Arithmetic
    • ()ACM 10018: Reverse and Add
    • ()ACM 10929: You can say 11
    • ()C語言的函數彙整
    • ()ACM 272: TeX Quotes
    • ()ACM 10062: Tell me the frequencies!

    最新留言

    文章搜尋

    誰來我家

    參觀人氣

    • 本日人氣:0
    • 累積人氣:45,673

    FLAG Counter

    free counters

    ** 釀了你喔 **

    ringsacm
    PIXNET Logo登入