分享

牛客网:模拟二,平衡数

 雪柳花明 2017-03-23
 
 



代码如下:

两次循环查找:

左边乘积==右边乘积


// int2vec.cpp : 定义控制台应用程序的入口点。

//


#include "stdafx.h"

#include <iostream>

#include<vector>


using namespace std;


//将int数,转为vector<int>

vector<int> int2vec(int a){

int temp ;

vector<int> res;

while (a>10){

temp = a % 10;

res.push_back(temp);

a = a / 10;

}

res.push_back(a);

return res;

}


int _tmain(int argc, _TCHAR* argv[])

{


vector<int> res;

int a;

cin >> a;


res = int2vec(a);

for (int i = 0; i < res.size(); i++){

cout << res[i] << endl;

}


int flag = 0;

for (int i = 1; i<res.size(); i++){

int left = 1, right = 1;

int k, j;

for (k = i; k<res.size(); k++){

right = right*res[k];

}

for (j = 0; j<i; j++){

left = res[j] * left;

}

cout << left << right;

if (left == right){

cout << "YES";//一旦有输出,停止查找

flag = 1;

break;

}

}

//没有找到相等的点

if (!flag){

cout << "NO";

}


system("pause");

return 0;

}




 整数直接转字符串:
字符串数字的值:为该字符型 - '0';

 













    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多