Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Code C++ tìm tổng số chữ số trong các số đặc biệt


Giả sử chúng ta được cho một số nguyên k. Chúng ta gọi một số là số đặc biệt nếu tất cả các chữ số trong số đó đều giống nhau. Ví dụ: 1, 11, 1111 là các số đặc biệt. Chúng ta đếm các số đặc biệt theo thứ tự: 1, 11, 111, 1111, 2, 22, 222, 2222, 3, 33, 333, 3333, và cứ thế. Chúng ta phải tìm tổng số chữ số có trong các số đặc biệt đến k. Giá trị của k không vượt quá 10000.

Ví dụ, nếu đầu vào là k = 9999, thì đầu ra sẽ là 90.

Các bước thực hiện

Để giải quyết bài toán này, chúng ta thực hiện theo các bước sau:

s := chuyển k thành chuỗi Định nghĩa mảng v kích thước: := {0, 1, 3, 6, 10} in(((s[0] - '0') - 1) * 10 + v[độ dài của s])

Ví dụ minh họa

Xem triển khai sau để hiểu rõ hơn:

#include <bits/stdc++.h> using namespace std; #define N 100 void solve(int k) {    string s = to_string(k);    int v[] = {0, 1, 3, 6, 10};    cout<< ((s[0] - '0') - 1) * 10 + v[s.length()] << endl; } int main() {    int k = 9999;    solve(k);    return 0; }

Đầu vào

9999

Đầu ra

90