1132 Cut Integer(20 分)(C++)

Cutting an integer means to cut a K digits lone integer Z into two integers of (K/2) digits long integers A and B. For example, after cutting Z = 167334, we have A = 167 and B = 334. It is interesting to see that Z can be devided by the product of A and B, as 167334 / (167 × 334) = 3. Given an integer Z, you are supposed to test if it is such an integer.

Input Specification:

Each input file contains one test case. For each case, the first line gives a positive integer N (≤ 20). Then N lines follow, each gives an integer Z (10 ≤ Z <2​31​​). It is guaranteed that the number of digits of Z is an even number.

Output Specification:

For each case, print a single line Yes if it is such a number, or No if not.

Sample Input:

3
167334
2333
12345678

Sample Output:

Yes
No
No
#include <cmath>
#include <iostream>
#include <string>
using namespace std;
int main(){
    int n, x, a, b;
    string s;
    cin>>n;
    for(int i = 0; i < n; ++ i){
        scanf("%d",&x);
        s = to_string(x);
        a = stoi(s.substr(0, s.length()/2));
        b = stoi(s.substr(s.length() / 2));
        if(a * b != 0 && x % (a * b) == 0)
            printf("Yes\n");
        else
            printf("No\n");
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用OpenCV中的GrabCut算法实现前景提取的C++程序: ```c++ #include <opencv2/opencv.hpp> using namespace cv; using namespace std; int main() { Mat image = imread("input.jpg"); // 读入输入图像 Mat mask(image.size(), CV_8UC1, Scalar(GC_PR_BGD)); // 创建掩码,初始值为背景 Rect roi(100, 100, 300, 300); // 创建ROI,用于初始化前景区域 mask(roi).setTo(Scalar(GC_PR_FGD)); // 将ROI中的像素标记为前景 Mat bgdModel, fgdModel; // 存储背景和前景模型的矩阵 grabCut(image, mask, roi, bgdModel, fgdModel, 5, GC_INIT_WITH_RECT); // 进行GrabCut算法 Mat foregroundMask = (mask == GC_PR_FGD) | (mask == GC_FGD); // 提取前景掩码 Mat foreground(image.size(), CV_8UC3, Scalar(0, 0, 0)); // 创建前景图像 image.copyTo(foreground, foregroundMask); // 将前景掩码应用到原图像中 imshow("Input Image", image); // 显示输入图像 imshow("Foreground Mask", foregroundMask); // 显示前景掩码 imshow("Foreground", foreground); // 显示前景图像 waitKey(); // 等待用户按下按键 return 0; } ``` 在这个程序中,我们首先读入输入图像`input.jpg`,然后创建一个与图像大小相同、初始值为背景的掩码。我们还创建了一个ROI(感兴趣区域),并将其内的像素标记为前景。然后我们调用`grabCut`函数,运行GrabCut算法,得到前景掩码。最后,我们将前景掩码应用到原图像中,得到前景图像,并显示输入图像、前景掩码和前景图像。 注意:在运行这个程序之前,你需要先安装OpenCV,并将其头文件和库文件链接到你的项目中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值