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);
    	}
    	
    	
    	
    }
  • 相关阅读:
    大神总结的
    更改Xcode的缺省公司名
    iPhone分辨率
    iOS 的 APP 如何适应 iPhone 5s/6/6Plus 三种屏幕的尺寸?
    storyBoard(tableViewl)
    storyBoard
    XIB可视化编程
    UITableView(五)
    UITableView(四)
    UITableView(三)
  • 原文地址:https://www.cnblogs.com/wdan2016/p/6852397.html
Copyright © 2011-2022 走看看