0
已解决
杨淮乐
资深守护
资深守护
#include<bits/stdc++.h>
#include<iostream>
#include<string>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<iomanip>
#include<cstring>
using namespace std;
string s;
long long h,j=1;
int main(){
cin>>s;
if(s[s.size()-1]%2==0){
for(int i=0;i<=s.size()-1;i++) h+=s[i]-'0';
cout<<"H="<<h;
}
else if(s[s.size()-1]%2!=0){
for(int i=0;i<=s.size()-1;i++){
if(s[i]=='0') continue;
else j*=s[i]-'0';
}
cout<<"J="<<j;
}
return 0;
}
70分代码;
1
已采纳
张皓轩
中级光能
中级光能
核心:
void Mul(){
memset(c,0,sizeof(c));
c[0]=a[0]+b[0];
for(int i=1;i<=a[0];i++){
for(int j=1;j<=b[0];j++){
c[i+j-1]+=a[i]*b[j];
}
}
int jw=0;
for(int i=1;i<=c[0];i++){
c[i]=c[i]+jw;
jw=c[i]/10;
c[i]%=10;
}
while(c[c[0]]==0){
c[0]--;
}
}
void swap(){
a[0]=c[0];
for(int i=1;i<=c[0];i++){
a[i]=c[i];
}
}
int main(){
cin>>s;
if(((int)s[s.size()-1]-48)%2==0){
long long sum=0;
for(int i=0;i<s.size();i++){
sum+=s[i]-48;
}
cout<<"H="<<sum;
}else{
c[0]=1;
c[1]=1;
for(int i=0;i<s.size();i++){
swap();
b[0]=1;
b[1]=(int)s[i]-48;
Mul();
}
cout<<"J=";
for(int i=c[0];i>=1;i--){
cout<<c[i];
}
}
定义:
int a[1005],b[1005],c[1005];
string s;
头文件:
#include<iostream>
#include<string>
#include<cstring>
0
0