1 条题解
-
1
2种方法AC这道题目
1、利用数组将原数每一位储存在数组内,由于是mod运算,所以要正序输出
#include<bits/stdc++.h> using namespace std; long long n,a[300],x; void dxs(){ while(n!=0){ x++; a[x]=n%10; n/=10; } } int main(){ cin>>n; dxs(); for(int i=1;i<=x;i++)cout<<a[i]; return 0; }
2、利用子程序层层调用,从而达到效果
#include<bits/stdc++.h> using namespace std; void dxs(int x){ if(x==0)return ; cout<<x%10; dxs(x/10); } int main () { int n; cin>>n; dxs(n); return 0; }
Ps 其实还有一种方法,但是在实测中只有60分,因为他将开头的零去掉了
奇怪,测试数据怎么没有去掉以下是递归法
#include<bits/stdc++.h> using namespace std; int i=0; int dxs(int x){ i--; if(x==0)return 0; return x%10*int(pow(10,i))+dxs(x/10); } int main () { int n,a; cin>>n; a=n; while(a!=0)a/=10,i++; a=dxs(n); cout<<a; return 0; }
- 1
信息
- ID
- 622
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 74
- 已通过
- 31
- 上传者