本文共 754 字,大约阅读时间需要 2 分钟。
为了解决这个问题,我们需要统计给定的整数中每种不同个位数字出现的次数。由于该整数可能有1000位,因此传统的方法无法直接应用。我们需要一种有效的方法来处理如此大的数字。
为了处理非常大的整数,我们可以将其作为字符输入逐个处理。具体步骤如下:
#includeusing namespace std;int main() { int count[10] = {0}; char n; // 读取每一位数字,直到遇到换行符 while ((n = getchar()) != '\n') { count[n - '0']++; } // 输出结果,按数字升序排列 for (int i = 0; i < 10; ++i) { if (count[i] != 0) { cout << i << ":" << count[i] << endl; } } return 0;}
getchar()
读取字符,直到遇到换行符。每一位数字对应一个字符,例如数字'3'对应字符'3'。n - '0'
),然后增加对应位置的计数器。这种方法有效地处理了大到1000位的整数,并确保了结果的正确性和效率。
转载地址:http://rrxpz.baihongyu.com/