小编use*_*511的帖子

编程竞赛的一个问题......数字和

我需要帮助解决早期竞争中的问题N:

问题N:数字和

给定3个正整数A,B和C,找到小于或等于A的正整数,当用基数B表示时,有数字总和为C.

输入将由一系列行组成,每行包含三个整数,A,B和C,2≤B≤100,1≤A,C≤1,000,000,000.数字A,B和C在基数10中给出,并由一个或多个空格分隔.输入由包含三个零的行终止.

输出将是每个输入行的数字数(必须在基数10中给出).

样本输入

100 10 9
100 10 1
750000 2 2
1000000000 10 40
100000000 100 200
0 0 0
Run Code Online (Sandbox Code Playgroud)

样本输出

10
3
189
45433800
666303
Run Code Online (Sandbox Code Playgroud)

相关规则:

  1. 从键盘,即使用读所有的输入stdin,System.in,cin或同等学历.输入将从文件重定向,以形成提交的输入.

  2. 写入所有输出到屏幕上,即使用stdout,System.out,cout或同等学历.不写信给stderr.不要使用,甚至不包括任何允许直接操作屏幕的模块,例如conio,Crt或类似的东西.程序的输出被重定向到一个文件以供以后检查.使用直接I/O意味着不会重定向此类输出,因此无法检查.这可能意味着正确的程序被拒绝!

  3. 除非另有说明,否则输入中的所有整数都将适合标准的32位计算机字.一条线上的相邻整数将由一个或多个空格分隔.

当然,公平地说,在尝试解决这个问题之前我应该​​学习更多,但如果有人在这里告诉我它是如何完成的,我真的很感激.

先谢谢你,约翰.

algorithm

3
推荐指数
1
解决办法
1733
查看次数

这个模板代码有什么问题?

#include <iostream>
#include <map>
#include <vector>


template<typename T>
class foo {
    public:
        foo(T val) : m_Value(val) { };
        T get_value() const { return m_Value; };
        void set_value(const T& t) { m_Value=t; };
        bool operator<(const foo<T>& x) { return x.get_value() < m_Value; };
        bool operator==(const foo<T>& x) { return x.get_value() == m_Value; };
    private:
        T m_Value;
};

template<typename T>
class bar {
    public:
        bar() { };
        void print_first() const {
            typename std::map<foo<T>,std::vector<foo<T> > >::iterator it;
            it = m_Map.begin(); //ERROR!
            std::cout << …
Run Code Online (Sandbox Code Playgroud)

c++ templates iterator

1
推荐指数
1
解决办法
168
查看次数

标签 统计

algorithm ×1

c++ ×1

iterator ×1

templates ×1