问题标题: 酷町堂:8420 质因数(prime)

0
0
已解决
刘意阳
刘意阳
初级天翼
初级天翼
#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
long long n;
int a[44725],ans;
int main(){
	cin>>n;
	memset(a,0,sizeof(a));
	for(int i=2;i<=sqrt(n);i++){
		if(n%i==0){
			while(n%i==0){
				n/=i;
				a[i]++;
			}
			ans++;
		}
	}
	cout<<ans<<'\n';
	for(int i=2;i<=44724;i++){
		if(a[i]>0){
			cout<<i<<' '<<a[i]<<'\n';
		}
	}
	return 0;
}

为什么WA0分,我不理解!!!

刘意阳在2022-11-23 17:37:35追加了内容

顶d=====( ̄▽ ̄*)b

刘意阳在2022-11-23 17:39:34追加了内容
#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
long long n;
int a[44725],ans;
int main(){
	cin>>n;
	memset(a,0,sizeof(a));
	for(int i=2;i<=sqrt(n);i++){
		if(n%i==0&&n){
			while(n%i==0&&n){
				n/=i;
				a[i]++;
			}
			ans++;
		}
	}
	cout<<ans<<'\n';
	for(int i=2;i<=44724;i++){
		if(a[i]>0){
			cout<<i<<' '<<a[i]<<'\n';
		}
	}
	return 0;
}

 

刘意阳在2022-11-23 17:41:42追加了内容
#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
long long n;
int a[44725],ans;
bool Q(int x){
	for(int i=2;i<=sqrt(x);i++){
		if(x%i==0)
		return 0; 
	}
	return 1;
}
int main(){
	cin>>n;
	memset(a,0,sizeof(a));
	for(int i=2;i<=sqrt(n);i++){
		if(n%i==0&&Q(i)){
			while(n%i==0){
				n/=i;
				a[i]++;
			}
			ans++;
		}
	}
	cout<<ans<<'\n';
	for(int i=2;i<=44724;i++){
		if(a[i]>0){
			cout<<i<<' '<<a[i]<<'\n';
		}
	}
	return 0;
}

依旧是WA0

刘意阳在2022-11-23 18:21:11追加了内容

在线等!急!

刘意阳在2022-11-23 18:52:12追加了内容


0
已采纳
丁梓豪
丁梓豪
新手天翼
新手天翼

我划掉的都是一些你对了的代码

(本来**场代码90分,刚才改动了一些东西,可以AC了)

0
0
0
0
0
熊潇然
熊潇然
初级启示者
初级启示者

把这个return 0放在if后面

0
姚天宇
姚天宇
高级光能
高级光能

定义long long类型的变量a,c

long long类型的桶数组10000005

输入

循环遍历2~sqrt(n)

    while循环判断a%i等于0

        那么桶数组++

        a/=i

判断a是不是1

   如果是,桶数组++

循环遍历1~10000000

    如果桶不是0

        cnt++

输出cnt换行

循环遍历1~10000000

    如果桶不是0

           输出i和桶换行

0
丁梓豪
丁梓豪
新手天翼
新手天翼

我区赛390,就在这了~

0
我要回答