问题标题: 酷町堂:2697

0
0
已解决
万韧山
万韧山
初级天翼
初级天翼

题目链接: 酷町堂:2697

怎么写

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

int main(){
    //freopen("题目英文名.in","r",stdin);
    //freopen("题目英文名.out","w",stdout);
/*
取个位 %10
取十位 /10%10
取百位 /100%10
取千位 /100
*/
    string s;
    bool flag=0;
    cin>>s;
    long long zc,s1=1,sum=0,lens;
    lens=s.size()-1;
    for(int i=0;i<lens;i++){
        if(s[lens]%2==0){
            zc=s[lens];
            flag=1;
            break;
        }
    } 
    if(flag){
        while(zc!=0){
            sum+=zc%10;
            zc/=10;
        }
        cout<<"H="<<sum;
    }else{
        while(zc>0){
            s1=s1*(zc%10);
            zc/=10;
        }
        cout<<"J="<<s1;
    }
    //fclose(stdin);
    //fclose(stdout);
    return 0;
}

我的代码,第二个样例不对

我还没学到高精QAQ

望大佬指教我这个蒟蒻


0
已采纳
被禁言 刘宇航
刘宇航
修练者
修练者

我70分,我用高精度也不行,不用0分,用了要么60分,要么70分,我都无语了。。。

doge

刘宇航在2022-05-23 12:43:04追加了内容

另外,我刷了好多

0
0
0
被禁言 高乐彤
高乐彤
修练者
修练者

你这代码我帮你试了,WA0分

也就是说加法也错了

应该这样:

如果要进行加法,就直接加(这时候不会超long long)

这样50~70分到手

如果要乘法再用高精计算(我在上课,一会再讲)

0
崔子周
崔子周
高级天翼
高级天翼

这种题不仅要用高精度,还要有简单的字符串两个判断。也要有continue语句你没有用。

我要回答