#include<bits/stdc++.h> using namespace std; int main(){ int n,sum=0,t; cin>>n; for(int i=1;i<=n;i++){ t=i; sum=0; while(t){ sum=sum10+t%10; t=t/10; } if(i==sum) cout<<i<<endl; } return 0; } 这一题卡在了不确定它是几位数无法确定取出每个位数时让它乘以几; sum=sum10+t%10; t=t/10;这个可以作为一个模板,它是每次将数乘以10直到t=0时这样能和t始终保持相同的位数。