C语言一道算法题设计一个程序,对应于正整数输出其所有素因子(多重因子重复输出);对于负数,首先输出-1,然后输出所有因子
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 11:12:31
C语言一道算法题
设计一个程序,对应于正整数输出其所有素因子(多重因子重复输出);对于负数,首先输出-1,然后输出所有因子
Input
第一行输入一个t(t
设计一个程序,对应于正整数输出其所有素因子(多重因子重复输出);对于负数,首先输出-1,然后输出所有因子
Input
第一行输入一个t(t
#include<stdio.h>
#include<malloc.h>
int main(){
\x05int t,n,i;
\x05scanf("%d",&t);
\x05while(t--){
\x05\x05scanf("%d",&n);
\x05\x05if(n<0){
\x05\x05\x05printf("-1 ");
\x05\x05\x05n=-n;
\x05\x05}
\x05\x05for(i=2;i<=n;i++){
\x05\x05\x05while(n!=i){
\x05\x05\x05\x05if(n%i==0){
\x05\x05\x05\x05\x05printf("%d ",i);
\x05\x05\x05\x05\x05n=n/i;
\x05\x05\x05\x05}
\x05\x05\x05\x05else
\x05\x05\x05\x05\x05break;
\x05\x05\x05}
\x05\x05}
\x05\x05printf("%d\n",n);
\x05}
\x05return 0;
}
参考这段代码哈,欢迎交流.
再问: 提交到系统显示Presentation Error...话说我看代码输出没错啊= =
再答: #include<stdio.h>
#include<malloc.h>
int main(){
int t,n,i;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
if(n<0){
printf("-1 ");
n=-n;
}
for(i=2;i<=n;i++){
while(n!=i){
if(n%i==0){
printf("%d ",i);
n=n/i;
}
else
break;
}
}
printf("%d",n);
if(t>0)
printf("\n");
}
return 0;
}再试试这个代码,应该是换行的问题。
再问: 学校的系统 没有学校的网进不去...我再试试吧 还有问题就是 提交代码的时候有时候会显示Time Limit Exceeded 或者 Runtime Error 这两个是什么问题呢
再答: Time Limit Exceeded 是指代码运行时间太长,即算法复杂度太高,我们应该优化算法或者换个更快的算法。 Runtime Error是指运行错误,可能是数组越界等等。 我给你了新的代码,你再试试,这个应该能AC。
#include<malloc.h>
int main(){
\x05int t,n,i;
\x05scanf("%d",&t);
\x05while(t--){
\x05\x05scanf("%d",&n);
\x05\x05if(n<0){
\x05\x05\x05printf("-1 ");
\x05\x05\x05n=-n;
\x05\x05}
\x05\x05for(i=2;i<=n;i++){
\x05\x05\x05while(n!=i){
\x05\x05\x05\x05if(n%i==0){
\x05\x05\x05\x05\x05printf("%d ",i);
\x05\x05\x05\x05\x05n=n/i;
\x05\x05\x05\x05}
\x05\x05\x05\x05else
\x05\x05\x05\x05\x05break;
\x05\x05\x05}
\x05\x05}
\x05\x05printf("%d\n",n);
\x05}
\x05return 0;
}
参考这段代码哈,欢迎交流.
再问: 提交到系统显示Presentation Error...话说我看代码输出没错啊= =
再答: #include<stdio.h>
#include<malloc.h>
int main(){
int t,n,i;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
if(n<0){
printf("-1 ");
n=-n;
}
for(i=2;i<=n;i++){
while(n!=i){
if(n%i==0){
printf("%d ",i);
n=n/i;
}
else
break;
}
}
printf("%d",n);
if(t>0)
printf("\n");
}
return 0;
}再试试这个代码,应该是换行的问题。
再问: 学校的系统 没有学校的网进不去...我再试试吧 还有问题就是 提交代码的时候有时候会显示Time Limit Exceeded 或者 Runtime Error 这两个是什么问题呢
再答: Time Limit Exceeded 是指代码运行时间太长,即算法复杂度太高,我们应该优化算法或者换个更快的算法。 Runtime Error是指运行错误,可能是数组越界等等。 我给你了新的代码,你再试试,这个应该能AC。
C语言一道算法题设计一个程序,对应于正整数输出其所有素因子(多重因子重复输出);对于负数,首先输出-1,然后输出所有因子
设计一个函数,输出整数n的所有素数因子
C语言.输入一个正整数,输出它的所有质数的因子(如180的质数因子为2,2,3,3,5)
c语言中判断一个正整数是否为素数,若是素数则输出该素数,若不是则输出该数所有的因子
急求c语言编程:从键盘任意输入一个整数m,若m不是素数,则计算并输出其所有的因子(不包括1),例如对于
C语言 求质因子输入一个整数(非质数),输出该数的所有质因子要求设计一个判断质数(素数)的函数,int issushu(
因子分解Description 找出输入整数的所有因子(包括重复因子),并按从小到大的顺序依次输出.Input 输入一组
用C语言编程:输入一个整数,输出该整数的所有素数因子.例如,输入120,输出为2、2、2、3和5.
计算并输出正整数n所有因子(1和n除外)之和,用while 和do while语句
运行时输入n,输出n的所有质数因子
写一个程序,从键盘输入一个任意的正整数n,能找到并输出n以内的所有完数及其因子.
从键盘上输入一个整数,输出该整数的所有素因子.例如,输入60,输出为2、2、3和5