社区讨论

40pts ,求条

B4050[GESP202409 五级] 挑战怪物参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mhj2vg9w
此快照首次捕获于
2025/11/03 19:49
4 个月前
此快照最后确认于
2025/11/03 19:49
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std ;
#define int long long
int t ;
int h ;
bool pd( int k ){
    if ( k == 1 )	return false ;
    for ( int i = 2 ; i * i <= k ; i++ ) {
        if ( k % i == 0 )	return false ;
    }
    return true ;
}
signed main()
{
	cin >> t ;
	while( t-- )
	{
		cin >> h ;
		int ans = 1 , g = 1 , f = 0 ;
		while( h > 0 )
		{
			if ( pd( h ) )
			{
				f = 1 ;
				cout << ans << endl ;
				break ;
			}
			h -= g ;
			if ( h == 0 ) {
                cout << ans << endl ;
                f = 1 ;
                break ;
			}
			g *= 2 ;
			ans++ ;
		}
		if ( f == 0 )	cout << "-1" ;
	}
	return 0 ;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...