zoukankan      html  css  js  c++  java
  • 1295.负权数

    这道题关键在于模拟连除倒取余数法,如何确定每一步“合适”的商和余数(因为余数不能为负),以保证商*除数+余数=被除数。此外要注意的一点是,正数%负数---余数是为正的(余数正负同被除数的正负)

     1 #include<iostream>
     2 #include<memory.h>
     3 #include<algorithm>
     4 #include<cmath>
     5 using namespace std;
     6 int main()
     7 {
     8     int N;
     9     while(cin>>N)
    10     {
    11         int r;
    12         cin>>r;
    13         char display[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    14         int mod[16];
    15         if(N==0)
    16         {
    17             cout<<0<<endl;
    18         }
    19         else
    20         {
    21             int i=0;
    22             while(N!=0)    //解题关键的思路实现
    23             {
    24                 int x=N/r;  //这是初步得出的商 ,可能要改
    25                 int y=N-(x*r);   //y是初步的余数,可能要改
    26                 N=N/r;       
    27                 if(y<0)  //由于余数不能用负数表示,故要想办法转化为正数。方法其实就是
    28                 {
    29                     y=y+abs(r);  //本位变为与进制的补植,同时向高位进一位
    30                     N++;
    31                 }
    32                 mod[i]=y;
    33                 i++;
    34             }
    35             for(int j=i-1;j>=0;j--)
    36             {
    37                 cout<<display[mod[j]];
    38             }
    39             cout<<endl;
    40         }
    41     }
    42     //system("pause");
    43     return 0;
    44 }
  • 相关阅读:
    4.nmap常用命令备忘录
    1.封神台sql注入实战靶场
    第一章、为了女神小芳
    2.kali部署vulhub
    5.docker可视化
    6.docker精髓
    【Rust】引用模式
    【Rust】虚类型测试
    【Rust】可变借用
    【Rust】虚类型参数
  • 原文地址:https://www.cnblogs.com/cfhome/p/2693101.html
Copyright © 2011-2022 走看看