题目1026:又一版 A+B-----------------------进制转换一定要用 do-while来进行辗转相除

Posted 贱人郭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了题目1026:又一版 A+B-----------------------进制转换一定要用 do-while来进行辗转相除相关的知识,希望对你有一定的参考价值。

#include<iostream>
 using namespace std;

int main()
{
    long long a,b;
    int m;     
    while(cin>>m)
    {
        if (m==0) return 0;
        
        int s[50],i=0;
        cin>>a>>b;
        a=a+b;
        
        do{           // 用while进行循环能出正确的结果,但是不能AC;  
            s[i++]= a%m;
            a=a/m;
        }while(a!=0);    
        for (int j=i-1;j>=0;j--)
         cout<<s[j];
        cout<<endl;
    }
    return 0;
}

WHILE 和DO-WHILE的不同

一、while语句的一般形式为:
while(表达式)语句
其中表达式是循环条件,语句为循环体。
while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。

二、do-while语句的一般形式为:
do
语句
while(表达式);
这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。因此, do-while循环至少要执行一次循环语句
使用while语句应注意以下几点:
1、while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。
2、循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句。

以上是关于题目1026:又一版 A+B-----------------------进制转换一定要用 do-while来进行辗转相除的主要内容,如果未能解决你的问题,请参考以下文章

题目1026:又一版 A+B-----------------------进制转换一定要用 do-while来进行辗转相除

poj 1026 Cipher

bzoj1026windy数

1026合并回文子串 区间DP

PAT乙级1026 程序运行时间 (15 分)

bzoj1026: [SCOI2009]windy数 数位dp