位数不超过n的正整数,即<10^n的正整数,从1到10^n-1一个个数字去枚举即可。
#include<bits/stdc++.h> using namespace std; int main() { int n,k; cin>>n>>k; int ans=0; for(int i=1;i<pow(10,n);i++){ int tmp=i; int tot=0; while(tmp){ tot+=tmp%10; tmp/=10; } if(tot<=k)ans++; } cout<<ans; return 0; }
注册一个 云斗学院 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 云斗学院 通用账户