首页 > 代码库 > hdu--4432--好久没做题了.
hdu--4432--好久没做题了.
很久没做题了...一想到要去 遥远的 牡丹江 我就-------------
这题 没什么好说的 就是个十进制的数转换成任意进制的数
就是要注意下 10进制以上的数 10是表示为A 11表示为B .........
好 贴代码 继续做一两题.
1 #include <iostream> 2 #include <vector> 3 using namespace std; 4 5 vector<int>ve; 6 int num[110]; 7 int sum , n , m; 8 9 void solve( int n )10 {11 int cnt , x;12 for( int i = 1 ; i<=n/i ; i++ )13 {14 if( n%i==0 )15 {16 ve.push_back(i);17 if( i*i!=n )18 {19 ve.push_back(n/i);20 }21 }22 }23 int ve_size = ve.size();24 for( int i = 0 ; i<ve_size ; i++ )25 {26 cnt = 0;27 x = 1;28 while( ve[i] )29 {30 num[cnt++] = ve[i]%m;31 ve[i] /= m;32 }33 for( int j = 0 ; j<cnt ; j++ )34 {35 sum += num[j]*num[j];36 }37 }38 cnt = 0;39 while(sum)40 {41 num[cnt++] = sum%m;42 sum /= m;43 }44 for( int k = cnt-1 ; k>=0 ; k-- )45 {46 if( num[k]>=10&&m>=11 )47 cout << char(num[k]-10+‘A‘);48 else49 cout << num[k];50 }51 cout << endl;52 }53 54 int main()55 {56 cin.sync_with_stdio(false);57 while( cin >> n >> m )58 {59 sum = 0;60 ve.clear();61 solve(n);62 }63 return 0;64 }
today:
重感冒了
身体被自己搞差了
fml
hdu--4432--好久没做题了.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。