[cpp-winapi] Nine Challenge

Viewer

copydownloadembedprintName: Nine Challenge
  1. int t=0;
  2. cin>>t;
  3. for (int Case=1;Case<=t;Case++) {
  4.     string s;
  5.     cin>>s;
  6.         lli sum=0;
  7.         for (lli i=0;i<s.size();i++) {
  8.                 sum += s[i]-'0';
  9.         }
  10.         lli want=(9 - sum)%9;
  11.         if(want==9) cout<<"Case #"<<Case<<": "<<s<<'\n';
  12.         else {
  13.                         lli pos1=-1,pos1num=want+1,pos2=-1,pos2num=want;
  14.                         for (lli i=0;i<(lli)s.size();i++) {
  15.                                 if(s[i]-48>=pos1num) {
  16.                                         pos1=i-1;
  17.                                         pos1num=s[i]-48;
  18.                                 }
  19.                                 else if(s[i]-48 <= pos2num) {
  20.                                         pos2=i+1;
  21.                                         pos2num=s[i]-48;
  22.                                 }
  23.                         }
  24.                         lli pos;
  25.                         if(pos2==-1) {
  26.                                 pos=pos1;
  27.                         }
  28.                         else {
  29.                                 pos=pos2;
  30.                         }
  31.                         if(pos==-1) pos=0;
  32.  
  33.                         vector<char>ans(s.size()+1,' ');
  34.                         for (lli i=0,j=0;j<(lli)s.size()+1;j++) {
  35.                                 if(j==pos) ans[j]=want+'0';
  36.                                 else ans[j]=s[i], i++;
  37.                         }
  38.                        
  39.                         string divisible = "";
  40.                         for (lli i=0;i<ans.size();i++) {
  41.                                 divisible += ans[i];
  42.                         }
  43.                         cout<<"Case #"<<Case<<": "<<divisible<<'\n';
  44.                 }
  45.         }
  46.  
  47.  

Editor

You can edit this paste and save as new:


File Description
  • Nine Challenge
  • Paste Code
  • 28 Mar-2022
  • 911 Bytes
You can Share it: