ACM札记二

0x1将一个非素数分解

由数学基本定理可知:任何一个大于1的非素数整数(即合数)都可以唯一分解成若干个素数的乘积。编写程序,从控制台读入一个合数(合数的大小不会超过int数据类型表示的范围),求这个合数可以分解成的素数。

#include <iostream>
 
using namespace std;
 
int main()
{
    int d;
    int i,j;
    cin>>d;
    i=2;
    while(d>=i)
    {
        j=0;
        while(d%i==0)
        {
            j++;
            d=d/i;
        }
        if(j!=0)
           cout<<i<<" ";
        i=i+1;
    }
    return 0;
}
 

0x2将一个数字的每一位存入一个数组

#include <iostream>
#include <stdlib.h>
#include <cstring>
#define N 20
using namespace std;
int main()
{
     int num,a[N],len;//定义整数
     char ch[N];//字符数组,把整数转成字符串求整数长度
     cin>>num;//输入整数
     itoa(num,ch,10);//整数转换成字符串
     len=strlen(ch);//求出整数的长度
     for (int i=len-1;i>=0;i--)//依次求出整数各位上数,赋值给数组
     {
          a[i]=num%10;
          num/=10;
     }
     for (int i=0;i<len;i++)
     {
          cout<<a[i]<<" ";
     }
     return 0;
}
 
 

除特别注明外,本站所有文章均为慕白博客原创,转载请注明出处来自https://geekmubai.com/code/acm/630.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区

领取腾讯云代金券