B3850 [GESP202306 四级] 幸运数 求调
  • 板块题目总版
  • 楼主__MZ__
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/11/27 19:41
  • 上次更新2024/11/27 21:08:52
查看原帖
B3850 [GESP202306 四级] 幸运数 求调
1333715
__MZ__楼主2024/11/27 19:41

B3850 [GESP202306 四级] 幸运数 20分,求调

传送门

#include <iostream>
#include <vector>
using namespace std;

// 判断是否为幸运数的函数
bool isLuckyNumber(long long num) {
    long long original = num;
    long long transformed = 0;
    long long placeValue = 1; // 用于恢复每一位的位置
    
    while (num > 0) {
        int digit = num % 10;  // 获取当前数字的最后一位
        num /= 10; // 去掉最后一位
        
        // 根据题目要求转换每一位数字
        if (digit < 7) {
            digit += 7;
        } else if (digit > 9) {
            digit -= 9;
        }
        
        // 将转换后的数字加到新数的相应位置上
        transformed += digit * placeValue;
        placeValue *= 10; // 移动到下一位
    }
    
    return original == transformed;
}

int main() {
    int N;
    cin >> N;
    
    vector<long long> numbers(N);
    for (int i = 0; i < N; i++) {
        cin >> numbers[i];
    }
    
    for (int i = 0; i < N; i++) {
        if (isLuckyNumber(numbers[i])) {
            cout << "T" << endl;
        } else {
            cout << "F" << endl;
        }
    }
    
    return 0;
}

2024/11/27 19:41
加载中...