c++-编写一个函数,对输入的整数k输出它的全部素数因子。……格式为126=2*3*3*7

问题描述

编写一个函数,对输入的整数k输出它的全部素数因子。……格式为126=2*3*3*7

解决方案

不知道你的编译器是什么,如果只是输出格式不对,就加一句:

 #include"iostream"
using namespace std;
#include<math.h>

void main()
{
    int x,i;
    cout<<"输入整数:";
    cin>>x;
    cout<<x<<"=";//修改
    while(x>=1)
    {
        int j=(int)sqrt((float)x);//修改
        for(i=2;i<=j;i++){
            if(x%i==0){
                cout<<i<<"*";
                x=x/i;break;
            }
        }
        if(i>j){
            cout<<x;break;
        }
    }
    cout<<endl;
}

解决方案二:

以后贴代码,不要贴图

看不清你的程序

参考:

 #include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
        int n,i;
        //scanf("%d",&n);
n=126;
        printf("%d=",n);
        while(n%2==0){
                                    printf("%d*",2);
                                    n/=2;
                                    }
        for(i=3;i<=sqrt(n);i+=2)
        {
           if(n%i==0)
           {
              n/=i;
              printf("%d*",i);
              i-=2;
       }
         }
       printf("%dn",n);  

        return 0;
}

http://codepad.org/u3PLBkSg
在线测试
126=2*3*3*7

解决方案三:

 #include"iostream"
using namespace std;
#include<math.h>

void main()
{
    int x,i;
    cout<<"输入整数: ";
    cin>>x;
    while(x>=1)
    {
        int j=(int)sqrt((float)x);//修改
        for(i=2;i<=j;i++){
            if(x%i==0){
                cout<<i<<"*";
                x=x/i;break;
            }
        }
        if(i>j){
            cout<<x;break;
        }
    }
    cout<<endl;
}

时间: 2024-08-31 09:44:20

c++-编写一个函数,对输入的整数k输出它的全部素数因子。……格式为126=2*3*3*7的相关文章

求教:编写一个函数,在页面输入一个整数,打印出对应的乘法表

问题描述 求教:编写一个函数,在页面输入一个整数,打印出对应的乘法表 函数会写,就是不知道怎么在页面输入整数来打印出乘法表,哪位可以帮忙给看看啊 解决方案 void show() { for (int i = 1; i < 10; i++) { for (int j = 1; j <=i;j++) { Response.Write(j + " * " + i + " = " + i * j+"t"); } Response.Write

编写一个函数,转换十进制数为字符串,需要处理负数,为什么会有错误呢

问题描述 编写一个函数,转换十进制数为字符串,需要处理负数,为什么会有错误呢 /* 编写一个函数,转换字符串的逆序字符串,比如"ABC"转换为"CBA".*/void reverse(char r[]int n){ int i; int temp; for(i=0;i<n/2;i++) { temp=r[i]; r[i]=r[n-i-1]; r[n-i-1]=temp; }}void chang1(int a){ int i = 0 j = 0 temp =

c语言-编写一个函数,void fun(char *str, char *substr1, char *subtr2 , …)

问题描述 编写一个函数,void fun(char *str, char *substr1, char *subtr2 , -) 编写一个函数,void fun(char *str, char *substr1, char *subtr2 , -)实现将字符串str中的子串substr1替换为子串substr2,并同时统计替换后str字符串长度,要求:接口定义中已有部分不许修改,但允许在-处自由添加参数.替换举例:如将字符串"abcedfrbcxybc"中的字串1"bc&qu

c c++-写一个函数判断输入的字符串是否是一个点分十进制格式的IP地址

问题描述 写一个函数判断输入的字符串是否是一个点分十进制格式的IP地址 写一个函数判断输入的字符串是否是一个点分十进制格式的IP地址 解决方案 #include ""winsock2.h""#pragma comment(libws2_32.lib"")BOOL CheckIsValidIP(const char* sIP){ unsigned long ulAddress = inet_addr(sIP); if (INADDR_NONE ==

c++ 指针-一个c++指针的问题,要求编写一个函数

问题描述 一个c++指针的问题,要求编写一个函数 有这样一个题,要求编写一个函数,以char指针数组和数组中的指针数量作为参数,返回最长字符串的地址.我想请问这个函数的返回值的类型是什么呢?也就是说在声明函数时函数类型应该是char *** 还是其他呢?因为我认为 **char *** 指的是返回一个指向单个字符的指针而不是指向字符串的指针,而且这个函数怎么编写呢?以下是我写的源代码,虽然通过了编译,但是在运行时崩溃了 ** **char* maxn( char *** arr[],int le

c语言-求教编写一个函数求出两个字符串包含的相同的单词

问题描述 求教编写一个函数求出两个字符串包含的相同的单词 编写一个函数,函数首部为void maxword(char *s,char *t),求出两个字符串包含的相同单词(同一字母的大小写视为不同的字符).规定单词全部由英文字母构成,单词直接由一个或多个空格分隔.其中主函数如下: #include Void main() { Char s[]="This is C programming text"; Char t[]="This is a text for C progra

十进制数-用vcmfc编写一个函数 在发送按钮事件下调用这个函数 具体见正文

问题描述 用vcmfc编写一个函数 在发送按钮事件下调用这个函数 具体见正文 该函数需将BYTE编辑框变量十进制数转化为16进制数,在按钮事件下调用该函数 进行转化.我是新手 求指导 刚接触vc思维上有点转不过来 解决方案 大概的思路char * input= ""00FF0123D5..."";char* out2=new char[strlen(input/2];int count=0;for(char *s=input;strlen(s)>0;s+=2)

c++-C++编写一个程序,输入一个广义表,对广义表遍历并且计算广义表的个数。

问题描述 C++编写一个程序,输入一个广义表,对广义表遍历并且计算广义表的个数. C++编写一个程序,输入一个广义表,对广义表遍历并且计算广义表的个数. 解决方案 http://blog.csdn.net/jack_wong2010/article/details/6910200

Viusla Basic 6..0 语言编写一个函数,把uncode字符串转换为utf-8字符串

问题描述 Viusla Basic 6..0 语言编写一个函数,把uncode字符串转换为utf-8字符串 Viusla Basic 6..0 语言编写一个函数,把uncode字符串转换为utf-8字符串 解决方案 dim e as object Set?e=CreateObject("MSScriptControl.ScriptControl") e.Language?=?"javascript" dim d as stringd=?e.Eval("en