C++,设m.n为正整数,含有数字m且不能被m整除的n位整数的个数为g,这些数的和为s,计算g和s#include #include using namespace std;int main() {int m,n,s,p,o=0,q,b=0,h=0;cin>>m>>n;for(int i = pow(10,n-1);i0;s=i/10,p=i%10,i=s){

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 15:59:18
C++,设m.n为正整数,含有数字m且不能被m整除的n位整数的个数为g,这些数的和为s,计算g和s#include #include using namespace std;int main() {int m,n,s,p,o=0,q,b=0,h=0;cin>>m>>n;for(int i = pow(10,n-1);i0;s=i/10,p=i%10,i=s){

C++,设m.n为正整数,含有数字m且不能被m整除的n位整数的个数为g,这些数的和为s,计算g和s#include #include using namespace std;int main() {int m,n,s,p,o=0,q,b=0,h=0;cin>>m>>n;for(int i = pow(10,n-1);i0;s=i/10,p=i%10,i=s){
C++,设m.n为正整数,含有数字m且不能被m整除的n位整数的个数为g,这些数的和为s,计算g和s
#include
#include
using namespace std;
int main()
{
int m,n,s,p,o=0,q,b=0,h=0;
cin>>m>>n;
for(int i = pow(10,n-1);i0;s=i/10,p=i%10,i=s){
if (p==m)o++;
break;
}
if(o!=0)
h++,b+=q;

}
cout

C++,设m.n为正整数,含有数字m且不能被m整除的n位整数的个数为g,这些数的和为s,计算g和s#include #include using namespace std;int main() {int m,n,s,p,o=0,q,b=0,h=0;cin>>m>>n;for(int i = pow(10,n-1);i0;s=i/10,p=i%10,i=s){
你的代码,内部for循环有误.内部for循环内修改了i的值,而i是外部for循环的循环数,不能被随意修改.
内部for循环的break语句,始终会被执行到.修改如下:
#include <iostream>
#include <cmath>
using namespace std;
int main() 
{
int m,n,s,p,o=0,q,b=0,h=0;
cin>>m>>n;
for(int i = pow(10,n-1);i<=pow(10,n)-1;i++){
q = i;
if(q%m==0) continue;
for(so=0,s=i,p=s%10; s>0; s=s/10,p=s%10)
if (p==m)o++;
if(o!=0)
{
    //cout << i << endl;  //打印数字
    h++,b+=q;
}

}
cout<<h<<" "<<b<<endl;
return 0;
}