#include <stdio.h> int main() { int a, ans, b; ans = 0; while (scanf("%d", &a) != EOF) { // 注意 while 处理多个 case // 64 位输出请用 printf("%lld") to while(a!=1 && a!=0){ b = a/2; ans += a%2; a = b; } ans += a; } printf("%d\n", ans); return 0; }
以上是运用的转换思路(这是别人的图)