yklstudent的个人空间 https://bbs.21ic.com/?707547 [收藏] [复制] [RSS]

日志

C++范例二

已有 427 次阅读2015-3-19 22:09 |系统分类:兴趣爱好

#include <iostream>
#include <math.h>
#include <string>
#include <sstream>

using namespace std;

#define _BV(bitno)                                        (1ul<<bitno)
#define _BIT_SET(val,bitno)                        (val|=_BV(bitno))
#define _BIT_CLR(val,bitno)                        (val&=~_BV(bitno))
#define _BIT_TST(val,bitno)                        (val&_BV(bitno))
#define _BIT_XOR(val,bitno)                        (val^=_BV(bitno))

int main(void)
{
        int n;
        int value = 0;
        cin >> n;
        string str;
        stringstream ss;
        ss << n;
        str = ss.str();
        for(int i=0; i<str.length(); i++)
        {
                value += _BIT_TST(n,i)?(_BV(i)):0;
        }
        cout << value << endl;
        return (0);
}


路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

发表评论 评论 (2 个评论)

回复 yklstudent 2015-3-20 20:45
#include <iostream>
#include <string>
#include <sstream>

using namespace std;

#define _BV(bitno)                                                                        (1ul<<bitno)
#define _BIT_SET(val,bitno)                                                        (val|=_BV(bitno))
#define _BIT_CLR(val,bitno)                                                        (val&=~_BV(bitno))
#define _BIT_TST(val,bitno)                                                        (val&_BV(bitno))
#define _BIT_XOR(val,bitno)                                                        (val^=_BV(bitno))

int main(void)
{
        int n;
        cin >> n;
        int i, j, k;
        for(i=1; i<n; i++)
        {
                for(j=0; j<(n-i); j++)
                {
                        cout << ' ';
                }
                for(k=0; k<2*i-1; k++)
                {
                        cout << '*';
                }
                cout << endl;
        }
        for(i=0; i<2*n-1; i++)
        {
                cout << '*';
        }
        cout << endl;
        for(i=(n-1); i>0; i--)
        {
                for(j=0; j<(n-i); j++)
                {
                        cout << ' ';
                }
                for(k=0; k<2*i-1; k++)
                {
                        cout << '*';
                }
                cout << endl;
        }
        return (0);
}
回复 yklstudent 2015-3-21 09:33
#include <iostream>
#include <string>
#include <sstream>

using namespace std;

#define _BV(bitno)                                                                        (1ul<<bitno)
#define _BIT_SET(val,bitno)                                                        (val|=_BV(bitno))
#define _BIT_CLR(val,bitno)                                                        (val&=~_BV(bitno))
#define _BIT_TST(val,bitno)                                                        (val&_BV(bitno))
#define _BIT_XOR(val,bitno)                                                        (val^=_BV(bitno))

int main(void)
{
        int n;
        cin >> n;
        int i, j, k;
        for(i=1; i<n; i++)
        {
                for(j=0; j<(n-i); j++)
                {
                        cout << ' ';
                }
                for(k=0; k<2*i-1; k++)
                {
                        cout << '*';
                }
                cout << endl;
        }
        for(i=0; i<2*n-1; i++)
        {
                cout << '*';
        }
        cout << endl;
        for(i=(n-1); i>0; i--)
        {
                for(j=0; j<(n-i); j++)
                {
                        cout << ' ';
                }
                for(k=0; k<2*i-1; k++)
                {
                        cout << '*';
                }
                cout << endl;
        }
        return (0);
}