HDU1001 수식에 대한 암시적 유형 변환

2005 단어 유형 변환
HDU 1001이 끊겼어요.
소백의 계발을 받아 이런 순환 문제를 만나면 바로 공식 구해로 바뀌어 시간을 최적화시킨다.하지만!난 못 건너!
문제 코드:
#include<stdio.h>

int main()

{

    int a;

    while(scanf("%d",&a)!=EOF)

        printf("%d

",a*(1+a)/2); return 0; }

문제는 제목에서 최종 결과가 32bit 안에 있을 것이라고 표시했지만 a*(1+a)도 32bit라는 보장이 없었다는 점이다.채소 새는 또 제법 연산 전의 숨은 유형 전환을 소홀히 하여 데이터가 적당한 상황에서 결과가 0이 되도록 하였다.
이건 지나쳤어..
#include<stdio.h>

int main()

{

    long long a;

    while(scanf("%lld",&a)!=EOF)

        printf("%lld

",a*(1+a)/2); return 0; }

좋은 웹페이지 즐겨찾기