#1超时了,求助!

P1307 [NOIP2011 普及组] 数字反转

xiao_tuan_zi @ 2024-01-25 19:49:57

#include<bits/stdc++.h>
using namespace std;
int main(){
    long long s[11],n,k=0,a=1;
    memset(s,0,sizeof(n));
    cin>>n;
    for(int i=1;i<=10;i++)s[i]=n/a%10,a*=10;
    a=1000000000;
    for(int i=1;i<=10;i++)k+=s[i]*a,a/=10;
    while(k%10==0)k/=10;
    cout<<k;
    return 0;
}

by timmyliao @ 2024-01-25 20:05:44

AC(经供参考)

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int num, res = 0; // res 初始 为 0
    cin >> num;
    while (num) {
        // 如果是最后一位是 0, res 的结果就一直是 0 (res = 0 * 10 + 0, num /= 10)
        res = res * 10 + num % 10;
        num /= 10; // 如果 num 不是0,就一直让 res 整体进一位(乘以 10),腾出个位
        // cout << res << "\t\t\t" << num << endl;
    }

    cout << res;
    return 0;
}

by xiao_tuan_zi @ 2024-01-25 20:37:37

@timmyliao 谢谢


|