zoukankan      html  css  js  c++  java
  • 尽管是一个CS专业的学生,小B的数学基础很好并对数值计算有着特别的兴趣,喜欢用计算机程序来解决数学问题。现在,她正在玩一个数值变换的游戏。她发现计算机中经常用不同的进制表示同一个数,如十进制数123表达为16进制时只包含两位数7、11(B),用八进制表示时为三位数1、7、3。按不同进制表达时,各个位数的和也不同,如上述例子中十六进制和八进制中各位数的和分别是18和11。

    include "stdafx.h"

    #include<iostream>
    #include<vector>
    #include <algorithm>  
    #include<iomanip>
    #include<string>
    #include<numeric>
    #include<set>
    
    using namespace std;
    
    int toNum(int num, int i)
    {
    	int sum = 0;
    	while (num!=0)
    	{
    		sum += (num%i);
    		num = num / i;
    	}
    	return sum;
    }
    
    void getNum(int n, int m)
    {
    	for (int i = m; i > 1; i--)
    	{
    		if (n%i == 0 && m%i==0) 
    		{
    			n = n / i;
    			m = m / i;
    			break;
    		}
    	}
    	cout << n << "/" << m << endl;
    }
    
    int main()
    {
    	int n;
    	while (cin>>n)
    	{
    		float sum = 0;
    		for (int i = 2; i < n; i++)
    		{
    			sum += toNum(n,i);
    		}
    		getNum(sum,n-2);
    	}
    	
    	
    	
    }
  • 相关阅读:
    Asp.Net Core, Angular 4 CLI站点部署
    .Net ViewState Workflow
    wpf附加属性理解
    wpf使用truetype字体ttf
    wpf 依赖属性注册解释
    wpf控件开发基础
    wpf path语法
    Adorner的收集
    正确理解WPF中的TemplatedParent (转贴)
    “/usr/local/var/run/nginx.pid” failed
  • 原文地址:https://www.cnblogs.com/wdan2016/p/6852397.html
Copyright © 2011-2022 走看看